Cloud Firestore OR query



如何从firebase获取多个文档?我想取回列表中的所有文档。

由于isMemberOf不是真正的运算符,因此只有当我为所有者字段传递单个项而不是列表时,我才能运行下面的查询。我把它放在那里,就像我想象的那样。

现在我只能传递一个值,并使用isEqualTo:而不是我编造的运算符。

我该怎么做?

Stream<List<Event>> subscribeToEventsByDates(
List<String> users, DateTime start, DateTime end) {
return Firestore.instance
.collection('events')
----> SELECT * (all that match) <------- doesn't exist? How to do this?
.where('owner', isMemberOf: users) 
.where('start', isGreaterThanOrEqualTo: start)
.where('start', isLessThanOrEqualTo: end)
.snapshots()
.map((snapshot) => snapshot.documents
.map((event) => Event.fromJson(event.data))
.toList());
}

如果你想把一个字符串数组传递给一个过滤器,以匹配给定字段的任何一个字符串,这被称为"在";查询

API文档中的where((建议您应该使用;其中In";为此。

.where('owner', whereIn: users) 

来自in查询文档:

使用in运算符将同一字段上最多10个相等(==(子句与逻辑OR组合在一起。

最新更新