如何从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
组合在一起。