如果包含特定字段,我只想获取集合中的文档。
例如,我尝试了此方法,但是它不起作用:
const exampleCollection = admin.firestore().collection(‘Collection’).doc(‘Doc).collection(‘Subcollection’);
const exampleDoc = await exampleCollection.where(“field”, “>”, “”).get();
const field = await exampleDoc.data().field;
怎么办?
谢谢!
答案 0 :(得分:2)
您实际上可以使用.orderBy('field')
仅返回具有该字段的那些文档。 Firestore会自动删除没有该字段的文档。
答案 1 :(得分:0)
您可以在firebase中执行简单的复合查询。
文档:https://firebase.google.com/docs/firestore/query-data/queries#simple_queries
示例:.where('field', '>', '10');
答案 2 :(得分:0)
Cloud Firestore不提供仅检查属性是否存在的任何类型的查询。您必须检查它是否包含特定值(==)或范围(大于,小于),或者其数组包含某个值。在所有情况下,您都需要一个特定的值进行比较。也没有查询类型可以查找不存在的数据,因为该查询类型无法按照Firestore的要求进行扩展。
这可能意味着您将需要更改文档模型以适合需要获得的结果。