使用Firestore,您可以使用单个更新调用更新并添加到子集合吗?

时间:2018-05-13 00:13:51

标签: javascript firebase google-cloud-firestore

我看到有一个示例调用update()并使用firestore更新嵌套字段。你可以做类似的事情进行更新并添加到子集合吗?

e.g。我们将此示例从作为对象哈希的收藏夹更改为子集合

var frankDocRef = db.collection("users").doc("frank");
frankDocRef.set({
    name: "Frank",
    favorites: { food: "Pizza", color: "Blue", subject: "recess" },
    age: 12
});

frankDocRef.set({
    name: "Frank",
    favorites.add({ food: "Pizza"}), // I know this is probably the wrong syntax
    age: 12
});

我是否会创建批量写入或事务,因为它会分别查看单个文档和子集合文档?

1 个答案:

答案 0 :(得分:1)

Firestore不提供API来更新多个文档(无论他们住在哪里),只需在文档引用上调用set()或update()即可。

如果您想以原子方式更新多个文档,则应该执行batch write。如果您需要在更新文档之前读取文档的值(用于增加计数等操作),则只需要一个事务。