Swift Firestore:具有数组比较的查询
我正在尝试实现类似于Swift Firestore:具有数组比较的查询,swift,firebase,google-cloud-firestore,Swift,Firebase,Google Cloud Firestore,我正在尝试实现类似于ref.whereField(“userID”,existsIn:friendArray)的功能,这将允许我从用户集合中筛选出朋友。我知道这样的查询不受支持。客户端解决方案,例如db.collection(“users”).getDocuments(){//iterate documents}可能对数据不太友好,是否有服务器端解决方案 虽然您没有显示文档结构,但我想您当前的文档结构如下: { "user_name": "Jon Doe", "friendArray":
ref.whereField(“userID”,existsIn:friendArray)
的功能,这将允许我从用户集合中筛选出朋友。我知道这样的查询不受支持。客户端解决方案,例如db.collection(“users”).getDocuments(){//iterate documents}
可能对数据不太友好,是否有服务器端解决方案 虽然您没有显示文档结构,但我想您当前的文档结构如下:
{
"user_name": "Jon Doe",
"friendArray": [{
0: "userID",
1: "userID2",
2: "userID3"
}]
}
但建议将您的数据结构化为:
{
"name": "Jon Doe",
"friendArray": {
"userID": true,
"userID2": true,
"userID3": true
}
}
这样,您可以使用以下方法检索朋友列表中具有userID
的所有用户:
db.collection("users")
.whereField("friendArray.userID", isEqualTo: true)
.getDocuments() { (querySnapshot, err) in
// ...
}
结构(“架构师”)您的firestore数据首先以最佳性能和可伸缩性为目标,然后构建代码/查询。