繁体   English   中英

FirebaseFirestore 中的多个 whereEqualTo 条件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM