首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从两个集合中获取数据,并且它是flutter的firestore中的子集合

从两个集合中获取数据,并且它是flutter的firestore中的子集合
EN

Stack Overflow用户
提问于 2020-11-24 18:22:49
回答 2查看 1.2K关注 0票数 0

我在Firestore中有这样的数据库结构:

这是什么里面的地方

如何在flutter中进行查询以获取Places子集合中的所有数据以及用户集合中的名称,此代码可从每个用户集合中获取所有places子集合数据:

代码语言:javascript
复制
Future<List<PlaceModel>> getPlaces() async {
    List<PlaceModel> placesList = [];
    // get all docs from user collection
    var users = await udb.get();
    for( var uid in users.docs) {
      var userData = await udb.doc(uid.id).get();
      var userPlaces = await udb.doc(uid.id).collection(placeTable).get();
      userPlaces.docs.forEach((place) {
            placesList.add(PlaceModel.fromMap(place.data()));
          });
    }
    return placesList;
  }
EN

回答 2

Stack Overflow用户

发布于 2020-11-24 19:36:55

您还可以使用where()orderby()方法来获取具有某些规则的数据。

代码语言:javascript
复制
Firestore.instance
        .collection("users")
        .document(uid.id)
        .collection(placeTable)
        .where('fieldName', isEqualTo:name )
        .snapshots()
票数 0
EN

Stack Overflow用户

发布于 2020-11-24 22:57:02

单个查询只能访问单个集合或具有相同名称的一组集合。Firestore查询是浅层的,不会从子集合中读取数据。如果需要子集合中的数据,则必须执行额外的查询才能读取数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64984453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档