[英]Firestore whereEqualTo, orderBy and limit(1) not working
[英]Multiple whereEqualTo condition in FirebaseFirestore
嗨,所以我有这个确切的数据库模式,其中有一个名为“状态”的字段的文档,这个字段有不同的值,它可以是“待定”、“已发送”等。
我有一个 FirebaseUI Recycler,我想加载包含这 2 个值的所有文档。 到目前为止,我已经尝试过这段代码:
Query query = fStore.collection("friendRequests").document(currentUID)
.collection("userFriendRequest")
.whereEqualTo("status", "pending") //1 condition
.whereEqualTo("status", "sent"); //2 condition
但我遇到了麻烦,因为它什么都不返回,我试过 arrays 但我也无法让它工作。
问题:知道我在哪里失踪了吗?
此查询是一个 AND 条件,它不会工作,因为一个文档中的字段不能有两个值,您可以执行以下操作:
Query query = fStore.collection("friendRequests").document(currentUID)
.collection("userFriendRequest")
whereIn("status", Arrays.asList("pending", "sent");
使用 in 运算符将同一字段上的最多 10 个相等 (==) 子句与逻辑或组合起来。 in 查询返回给定字段与任何比较值匹配的文档
https://firebase.google.com/docs/firestore/query-data/queries#in_and_array-contains-any
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.