小编Dan*_*tiz的帖子

使用多个条件 where 子句的 Flutter Cloud FireStore 查询

我一直在努力寻找基于某些可能添加或可能不添加的条件来执行具有多个条件查询的查询的正确方法。我尝试了多种方法,但没有效果。

Future<QuerySnapshot> searchStuff(StuffModel stuff) async {

    CollectionReference col = _firestore.collection(Constants.stuffCollection);

    Query query = col.where('uid', isEqualTo: stuff.uid);

    if (stuff.who != null) {
      query = query.where('who', isEqualTo: stuff.who);
    }
    if (stuff.what != null) {
      query = query.where('what', isEqualTo: stuff.what);
    }
    if (stuff.where != null) {
      query = query.where('where', isEqualTo: stuff.where);
    }
    if (stuff.when != null) {
      query = query.where('when', isEqualTo: Timestamp.fromDate(stuff.when));
    }

    return await query.getDocuments();
  }
Run Code Online (Sandbox Code Playgroud)

firebase flutter google-cloud-firestore

4
推荐指数
1
解决办法
4451
查看次数

标签 统计

firebase ×1

flutter ×1

google-cloud-firestore ×1