我想按两个数据对BUCKET_1_KEY字段中的数据进行排序,但在我的情况下不起作用。有可能吗?
db.collection(XPERT_MASTER_KEY)
.document(xpertId)
.collection(RESPONSES_KEY)
.whereEqualTo(BUCKET_1_KEY, "exp")
.whereEqualTo(BUCKET_1_KEY, "option")
答案 0 :(得分:3)
Firestore查询中的条件在逻辑上相互进行“与”运算。因此,在同一字段的单个查询中具有两个相等条件是没有意义的。字段值不能同时等于两个不同的字符串。
如果您要实施逻辑OR查询,并尝试获取BUCKET_1_KEY等于“ exp”的所有文档 OR BUCKET_1_KEY等于“ options”,则应使用IN查询代替。请read the documentation about IN queries。如果您尝试对IN查询执行逻辑或,则如下所示:
db.collection(XPERT_MASTER_KEY)
.document(xpertId)
.collection(RESPONSES_KEY)
.whereIn(BUCKET_1_KEY, Arrays.asList("exp", "option"))