首页 > 解决方案 > 如何从collectionGroup按Id获取文档

问题描述

我的数据库看起来像这样

我使用 collectionGroup 来访问所有图像集合,现在我想通过 id 获取图像。

Firestore.instance.collectionGroup('images').document('$imageid').get().then((onValue){

但是collectionGroup()没有document()

标签: firebaseflutterdartgoogle-cloud-firestore

解决方案


Swift语言中,我会这样:

// (tested and confirmed)

Firestore.firestore().collectionGroup("users").getDocuments { (doc, err) in
            if err != nil {
                print(err?.localizedDescription)
            }
            if doc?.isEmpty == false {
                for doc in doc!.documents {
                    print("DOC = ", doc.documentID)
                }
            }
        }

我不使用Dart,但我在网上为你找到了这个。您可能需要对其进行调整,以便为您编译。我知道它使用的是集合而不是集合组。

 final collRef = Firestore.instance.collection('images');
 DocumentReferance docReferance = collRef.document();

  docReferance.setData(map).then((doc) {
    print('hop ${docReferance.documentID}');
  }).catchError((error) {
    print(error);
  });
]

推荐阅读