如何使用索引数组从 firebase 获取数据?React/Node.js
2020-10-11
481
我尝试使用索引数组作为条件从 firebase 获取数据。
我有一个类别数组,我需要从数组中获取具有类别的所有项目。一个项目可以有多个类别。 我尝试过类似的方法,但 foreach 对集合没有任何作用。我知道您无法将数组传递给 firebase,所以我需要其他解决方案。
const getItemsByCategories = (categories: string[]) => {
const collection = db.collection("items");
categories.forEach(category => {
collection.where("category", "array-contains", category);
});
return collection.get().then(mapQuerySnapshot);
};
1个回答
如果“类别”字段是一个列表,而您要查找包含内存中另一个列表中的 任何 项目的 所有 文档,则应改用 array-contains-any 查询。您可以直接传递数组:
const collection = db.collection("items")
const query = collection.where("category", "array-contains-any", categories);
query.get().then(...)
Doug Stevenson
2020-10-11