java我可以设置多个。whereEqualTo在firestore查询中指向文档中的字段?
我有一个以city
为字段的文档。我想查询一个有
city == "Tokyo
和city == "Osaka"
怎么做
我试过这个:
query = ref
.whereEqualTo(FIRESTORE_EVENT_FIELD_CITY,"Tokyo")
.whereEqualTo(FIRESTORE_EVENT_FIELD_CITY,"Osaka")
.whereEqualTo(FIRESTORE_EVENT_FIELD_IS_ACTIVE,true)
.whereEqualTo(FIRESTORE_EVENT_FIELD_HAS_BEEN_APPROVED,false)
.whereGreaterThanOrEqualTo(FIRESTORE_EVENT_FIELD_DATE_START_TIME,now.toDate())
.whereLessThanOrEqualTo(FIRESTORE_EVENT_FIELD_DATE_START_TIME,oneMonthFromNow.toDate())
.orderBy(FIRESTORE_EVENT_FIELD_DATE_START_TIME, Query.Direction.ASCENDING)
.limit(limit)
但如果我只设置了一个指向
一个城市,像这样只有.whereEqualTo(FIRESTORE_EVENT_FIELD_CITY,"Tokyo")
,然后它工作,但它只给我所有的文件,在城市领域有东京
# 1 楼答案
从文件中:
https://firebase.google.com/docs/firestore/query-data/queries
# 2 楼答案
我猜你说你想要
city == "Tokyo" and city == "Osaka"
是指OR
。Firestore最近发布了OR
逻辑在当前查询中,您没有收到任何文档,因为前两个
where
是互斥的