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

Fer*_*Tan 7 android firebase google-cloud-firestore

我在Android中使用新的Cloud Firestore.所以我在firestore中遇到了这个问题.我想查询一个文档,其中包含数组字段中的id.

例如,我有一个文件,在firestore中包含一个整数数组,如下所示: 此搜索

因此,当我有一个id 66940时,我可以获取包含id的文档和其他文档,而不返回不包含id 66940的其他文档.


除了这种方法,我还可以使用id(66940)在文档id中搜索它.我的文件ID格式是这样的:
- 66940_88123
- 12323_66940

我们的想法是,返回其ID中包含66940的文档.我在这里已经阅读了一个解决方案,但我真的不明白如何实现它.

Sam*_*ern 7

这是一个常见问题,因此我们发布了一些有关如何在Cloud Firestore中使用阵列的文档:https: //firebase.google.com/docs/firestore/solutions/arrays

简而言之,如果要查询数组成员资格,最好将数据存储为布尔图.

所以不是这样的:

{
  name: "sam",
  userGgIds: [12345, 67890]
}
Run Code Online (Sandbox Code Playgroud)

你要这个:

{
  name: "sam",
  userGgIds: {
    12345: true,
    67890: true
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以执行此查询以搜索包含ID"12345"的文档

db.collection("users").where("userGgIds.12345", "==", true).get()
Run Code Online (Sandbox Code Playgroud)