【发布时间】:2021-10-30 22:38:43
【问题描述】:
基本上,我有一个来自 Firestore 的查询,并且某些过滤器字段可能为空,在这种情况下,特定查询将被忽略,由于具有多个字段的不等式查询需要索引,那么创建此类索引的最佳方法是什么查询而不经过所有可能的组合。
例如,'country' 和 'budget_high'、'gender' 和 'budget_high'、'age' 和 'budget_high'、'country、gender' 和 'budget_high' 等等。
这是我的查询。
if (country !== "") query = query.where("country", "==", country);
if (gender !== "") query = query.where("gender", "==", gender);
if (age !== "") query = query.where("age", "==", age);
if (religion !== "") query = query.where("religion", "==", religion);
if (budget_high !== "") query = query.where("budget_high", "<=", Number(budget_high));
return query
.get()
.then((querySnapshot) => {
var data = [];
querySnapshot.forEach((doc) => {
let user_data = doc.data();
user_data.created_at = `${user_data.created_at.toDate()}`;
data.push(user_data);
});
return data;
})
.catch((error) => {
console.log("Error getting documents: ", error);
return [];
});
};
【问题讨论】:
-
@Dharmaraj 是的,我已经检查过了,这个问题是为了在我试图阻止索引时尝试创建索引。
标签: javascript reactjs firebase google-cloud-platform google-cloud-firestore