gpt4 book ai didi

java - FirebaseFirestore 中的多个 whereEqualTo 条件

转载 作者:行者123 更新时间:2023-12-02 03:01:25 26 4
gpt4 key购买 nike

嗨,我有这个确切的数据库模式,其中有一个名为“状态”字段的文档,该字段有不同的值,它可以是“待处理”、“已发送”等。

我有一个 FirebaseUI Recycler,我想加载包含这两个值的所有文档。到目前为止我已经尝试过这段代码:

Query query = fStore.collection("friendRequests").document(currentUID)
.collection("userFriendRequest")
.whereEqualTo("status", "pending") //1 condition
.whereEqualTo("status", "sent"); //2 condition

但是我遇到了麻烦,因为它不返回任何内容,我尝试过使用数组,但我无法让它正常工作。

问题:知道我错过了什么吗?

架构图片: enter image description here enter image description here

最佳答案

此查询是一个 AND 条件,它不起作用,因为一个文档中的字段不能有两个值,您可以执行以下操作:

Query query = fStore.collection("friendRequests").document(currentUID)
.collection("userFriendRequest")
whereIn("status", Arrays.asList("pending", "sent");

Use the in operator to combine up to 10 equality (==) clauses on the same field with a logical OR. An in query returns documents where the given field matches any of the comparison values

https://firebase.google.com/docs/firestore/query-data/queries#in_and_array-contains-any

关于java - FirebaseFirestore 中的多个 whereEqualTo 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61391994/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com