首页 > 解决方案 > 有没有办法可以将数据添加到firestore中集合的父文档和子文档?

问题描述

我正在为我的大学项目开发​​电子商务。我有一个“产品”的父集合,在“产品”集合中我有不同公司名称的文件。在公司文档中,我创建了类别集合,例如蔬菜、糕点等。

我想将地址键值对添加到公司名称文档中。在单个查询中。为此,我现在正在使用此查询。

await firestoreInstance
    .collection("Products")
    .document(_productCompany.toUpperCase())
    .setData({"data": ""}).then((value) => firestoreInstance
            .collection("Products")
            .document(_productCompany.toUpperCase())
            .collection(_productCategory)
            .document(_productCategory +
                " " +
                _productCompany +
                " " +
                _productName)
            .setData({
          "DownloadUrl": "$_downloadURL",
          "CategoryName": "$_productCategory",
          "CompanyName": "$_productCompany",
          "ProductName": _productName,
          "PricePerQuantity": _productPricePerQuantity,
          "Available": true,
          "itemQuantityToCart": 0
        }));

有没有办法在一个查询中做到这一点?

标签: firebasefluttergoogle-cloud-firestore

解决方案


如果您有两个文档要更新(无论它们彼此之间的关系如何),您将需要分别更新它们。这没有任何捷径。

如果您想以原子方式(同时)更新两个文档,那么您可以进行批量写入以同时提交两个更改。但是您仍然必须生成两个文档引用并指定这些文档应包含的数据。

你可以在这里阅读更多关于 Flutter的信息。批量写入的入口点从batch()方法开始。


推荐阅读