如何在Firestore中查询包含发送参数的文档?

问题描述:

我在Android中使用新的Cloud Firestore。 所以我在firestore面临这个问题。 我想查询一个文档,它的数组字段中包含一个id。如何在Firestore中查询包含发送参数的文档?

例如,我有一个包含整数像这样的数组中公司的FireStore与现场的文档: image1

所以,当我有一个id 66940,我可以得到它包含了ID的文档和其他文件,而无需返回不包含的ID 66940.


除了这个办法等文件,我还可以使用id(66940)来搜索它在文档ID。我的文档ID格式是这样的:
- 66940_88123
- 12323_66940

的想法是,返回包含66940在他们的身份证件。 我已阅读有关解决方案here,但我不太了解如何实施它。

这是一个常见的问题,所以我们发布了有关如何在云计算公司的FireStore阵列,而一些文档: https://firebase.google.com/docs/firestore/solutions/arrays

总之,如果你想查询阵成员最好是存储数据的布尔的地图。

因此,不是这样的:

{ 
    name: "sam", 
    userGgIds: [12345, 67890] 
} 

你想这样的:

{ 
    name: "sam", 
    userGgIds: { 
    12345: true, 
    67890: true 
    } 
} 

然后你就可以做到这一点查询,以搜索包含ID为 “12345”

db.collection("users").where("userGgIds.12345", "==", true).get() 
+1

文件当然啊!我希望我已经与文档间参考文献建立了联系。由于它们的重要性和共同性,在文档中重申这将是推荐的成员关系用例(1​​:*,*:*)会很好。时间做一些旋转:| –