我想通过使用Flutter发送 group-query 来更新我得到的子集合文档。根据我目前对 group-query 的理解,我并不真正知道子集合的父项。
为此,我需要父文档的文档ID。更新查询将如下所示:
collection(collectionName)
.document(parentDocumentId)
.collection(subCollectionName)
.document(subCollectionDocumentId)
.updateData(someMapWithData);
是否有必要将parentDocumentId保存在子集合文档中才能进行这种更新,或者还有另一种方式?
答案 0 :(得分:1)
如果要更新子集合中的文档,则需要顶部文档ID和子集合中的文档ID。
是否有必要将parentDocumentId保存在子集合文档中才能进行这种更新,或者还有另一种方式?
否,这不是必需的,但是如果您有parentDocumentId
,但没有subDocumentId
,则需要查询以检索它:
Firestore.instance
.collection("path")
.document("docPath")
.collection("subCollection")
.where("name", isEqualTo: "john")
.getDocuments()
.then((res) {
res.documents.forEach((result) {
Firestore.instance
.collection("path")
.document("docPath")
.collection("subCollection")
.document(result.documentID)
.updateData({"name": "martin"});
});
});