Cha*_*age 1 firebase swift google-cloud-firestore
我在 Cloud Firestore 中的一个集合有一个数组,其中数组中的每个项目都包含三个单独的值(请参阅该groupMembership字段:

我知道我无法编写查询来查找与数组值之一匹配的文档。有没有办法编写查询来查找与所有三个项目的特定值匹配的文档?
例如,我想找到数组中包含一个对象的所有users位置groupMembership,该对象等于groupId: X, groupName: Y, membershipStatus: active
array-contains您可以在子句中传递整个对象。
所以像这样:
usersRef
.whereField("groupMembership", arrayContains: [
"groupId": "kmDT8OUOTCxSMIBf9yZC",
"groupName": "Jon and Charles Group",
"membershipStatus": "pending",
])
Run Code Online (Sandbox Code Playgroud)
数组项必须完全准确地匹配您传入的字典。如果您只想过滤每个数组元素中的某些属性,则必须仅使用这些属性创建其他字段。例如,一个groupIds仅包含(唯一)组 ID 的字段是很常见的,这样您也可以对这些 ID 进行过滤(当然在Firestore 查询的限制内)。
| 归档时间: |
|
| 查看次数: |
791 次 |
| 最近记录: |