Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firebase firestore查询不会过滤数据,即使在使用“颤振中的位置”时也是如此_Android_Firebase_Flutter_Stream Builder - Fatal编程技术网

Android Firebase firestore查询不会过滤数据,即使在使用“颤振中的位置”时也是如此

Android Firebase firestore查询不会过滤数据,即使在使用“颤振中的位置”时也是如此,android,firebase,flutter,stream-builder,Android,Firebase,Flutter,Stream Builder,我试图在我的Flatter应用程序的Firebase firestore查询中使用where,但它显示了集合中的所有数据,而没有对其进行过滤。以下是我的代码: Widget buildingMessages(){ print('message room id$roomID');//此处正在打印正确的id var theMessages=FirebaseFirestore.instance.collection('messages'); messages.where('room_id',isEqu

我试图在我的Flatter应用程序的Firebase firestore查询中使用
where
,但它显示了集合中的所有数据,而没有对其进行过滤。以下是我的代码:

Widget buildingMessages(){
print('message room id$roomID');//此处正在打印正确的id
var theMessages=FirebaseFirestore.instance.collection('messages');
messages.where('room_id',isEqualTo:roomID.).orderBy('created',descending:true);
返回流生成器(
流:theMessages.snapshots(),
生成器:(BuildContext上下文,异步快照){
if(snapshot.hasError){
返回文本(“出错”);
}
返回新的ListView(
子项:snapshot.data.docs.map((DocumentSnapshot文档){
//....

问题出在
流中:theMessages.snapshots()
。您正在引用theMessages。您没有使用where子句。使用where子句扩展它。如

stream: theMessages.snapshots().where(
                  'room_id',isEqualTo: roomID).orderBy('created', descending: true);
编辑:或将其初始化为

var theMessages = FirebaseFirestore.instance.collection('messages').
            where('room_id',isEqualTo: roomID).orderBy('created', descending: true);