Firebase 关于颤振的Firestore查询

Firebase 关于颤振的Firestore查询,firebase,google-cloud-firestore,flutter,Firebase,Google Cloud Firestore,Flutter,如何使用FlatterFire中的.where()执行Firestore查询?因为文档和示例没有涵盖这一点,我感到困惑。我在这里没有发现其他关于这方面的问题,所以我希望我没有问重复的问题。下面的示例仔细检查了集合“字段”中的每个文档,并筛选“种植者”。没有关于这方面的文档,但是您可以检查源代码 import 'package:cloud_firestore/cloud_firestore.dart'; Firestore.instance.collection('fields').where(

如何使用FlatterFire中的.where()执行Firestore查询?因为文档和示例没有涵盖这一点,我感到困惑。我在这里没有发现其他关于这方面的问题,所以我希望我没有问重复的问题。

下面的示例仔细检查了集合“字段”中的每个文档,并筛选“种植者”。没有关于这方面的文档,但是您可以检查源代码

import 'package:cloud_firestore/cloud_firestore.dart';

Firestore.instance.collection('fields').where('grower', isEqualTo: 1)
    .snapshots().listen(
          (data) => print('grower ${data.documents[0]['name']}')
    );
源代码:

  Query where(
    String field, {
    dynamic isEqualTo,
    dynamic isLessThan,
    dynamic isLessThanOrEqualTo,
    dynamic isGreaterThan,
    dynamic isGreaterThanOrEqualTo,
    bool isNull,
  }) {..}

如果使用streambuilder,则会出现此问题

StreamBuilder<QuerySnapshot>(
        stream: feed.where('uid', isEqualTo: 'aaaaaaaaaaaaa').snapshots(),
        builder: (_, snapshot) {
          if (snapshot.hasData) {
            return Column(
              children: snapshot.data.docs
                  .map((e) => itemGrid(
                        e.data()['username'],
                        e.data()['uid'],
                        e.data()['uavatarUrl'],
                        e.data()['imageUrl'],
                        e.data()['desc'],
                      ))
                  .toList(),
            );
          } else {
            print('null');
            return Container();
          }
        }));
StreamBuilder(
流:feed.where('uid',isEqualTo:'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa,
构建器:(\uux,快照){
if(snapshot.hasData){
返回列(
子项:snapshot.data.docs
.map((e)=>itemGrid(
e、 data()['username'],
e、 data()['uid'],
e、 data()['uavatarUrl'],
e、 data()['imageUrl'],
e、 data()['desc'],
))
.toList(),
);
}否则{
打印('null');
返回容器();
}
}));
Null安全代码(Dart 2.12) 由于许多类现在要么已弃用,要么已完全删除,因此将此代码用于Flatter 2.0及更高版本

QuerySnapshot snapshot=wait FirebaseFirestore.instance
.collection(“员工”)
.限额(10)
。其中(‘年龄’大于:30)
.get();
List docs=snapshot.docs;
用于(单据中的var单据){
如果(doc.data()!=null){
var data=doc.data()作为映射;
var name=data['name'];//您可以通过这种方式获取其他数据。
}
}

这很有帮助。谢谢这个插件的文档需要改进。您好,我想知道您是否可以对多个值进行“where”过滤,将多个值放入子句中。示例:如果年龄大于x,wheigh小于,等等。Jorge您不能使用不同值上的范围进行查询Hey@Jorge和其他仍在寻找多条件查询的人,我知道可以使用多个
where
子句进行查询。>显示代码:@override Stream userfeed(字符串userID){return firestore.collection(path).where(“userID”,isEqualTo:userID).where(“projectID”,isEqualTo:“sc_demo_project1”).snapshots().map((snapshot){return snapshot.documents.map((doc){return UserFeedEntity(doc['projectID',doc installationID',doc['userID'],doc['feeds'].cast(),);}.toList();});}