[英]Flutter Firebase - retrieving data using where in a collection with multiple docs
[英]Is it possible to use multiple '.where()' statements in querying data from firebase using flutter?
我对 flutter 和 firebase 比较陌生。我正在尝试嵌套.where()
语句以更好地过滤我的查询结果。
在我的代码中,我想查询包含在数组中的 id 字段的文档,displayName 字段也是如此。 对如何创建更复杂的查询有什么建议吗?
Future<Stream<QuerySnapshot>> searchFriend(String loggedInUserId,
String searchString, List<dynamic> idOfFriends) async {
List<dynamic> searchParse = searchString.split(' ');
Stream<QuerySnapshot> searchResult = await db
.collection('Users')
.where('id', whereIn: idOfFriends)
.where('displayName', whereIn: searchParse)
.snapshots();
return searchResult;
}
您可以使用多个 where 但在根据 firestore 文档编写查询时请记住这些限制。
请遵循有关限制的官方文档:
https://firebase.google.com/docs/firestore/query-data/queries#query_limitations
从那里:
每个查询最多可以使用一个
in
、not-in
或array-contains-any
子句。
所以你不能在一个查询中有两个whereIn
条件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.