首页 > 解决方案 > Flutter Firestore 使用 setDate 批量写入并合并

问题描述

我在 Flutter 中使用以下代码写入 Firestore。如果存在文档,我需要将数据与旧字段合并。

var batch = Firestore.instance.batch();
batch.setData(
   db.document('Path/to/firestore/document'),
   {"key": value},
    );

要添加合并,我尝试了此代码,但它不起作用:

var batch = Firestore.instance.batch();
batch.setData(
   db.document('Path/to/firestore/document'),
   {"key": value},
   {bool merge: true}
    );

如果有人可以建议我如何将merge:true选项添加到batch.setData(),那将非常有帮助。

标签: androidfirebaseflutterdartgoogle-cloud-firestore

解决方案


看起来您{bool merge: true}直接从API 文档中复制了文本。那bool只是告诉你字段的类型merge。它不应该出现在您的代码中。只需使用merge: true.

batch.setData(
   db.document('Path/to/firestore/document'),
   {"key": value},
   merge: true
);

更新

batch.setData(
   db.document('Path/to/firestore/document'),
   {"key": value},
   SetOptions(merge: true)
);

推荐阅读