如何获取包含特定字段的文档?

时间:2019-09-22 16:30:33

标签: node.js firebase google-cloud-firestore firebase-admin

如果包含特定字段,我只想获取集合中的文档。

例如,我尝试了此方法,但是它不起作用:

const exampleCollection = admin.firestore().collection(‘Collection’).doc(‘Doc).collection(‘Subcollection’);

const exampleDoc = await exampleCollection.where(“field”, “>”, “”).get();
const field = await exampleDoc.data().field;

怎么办?

谢谢!

3 个答案:

答案 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的要求进行扩展。

这可能意味着您将需要更改文档模型以适合需要获得的结果。