Cloud Firestore 更新文档中的多个字段

6 浏览
0 Comments

Cloud Firestore 更新文档中的多个字段

Cloud Firestore的文档中介绍了如何更新文档引用中的单个字段:\nconst res = await cityRef.update({capital: true});\n(https://firebase.google.com/docs/firestore/manage-data/add-data)\n如果我想要从PUT请求的请求体中更新文档的多个字段,该怎么办呢?\n例如,如果我的request.body是\n

{
    name: "芝加哥",
    capital: true
}

\n是否有一种方式可以通过单个调用来更新文档,比如cityRef.update(request.body)

0
0 Comments

问题出现的原因是想要在Firestore文档中更新多个字段时,需要使用特定的格式来发送请求。解决方法是使用`.update`方法,并按照`field, value`的格式添加要更新的字段和对应的值。

在代码中,可以使用以下方式进行更新:

[...] cityRef.update({
    "name", “Chicago”, // field, value
    "capital, "true" // field, value
})

需要将具体的字段和对应的值添加到`{}`中的`[...]`部分中。

0
0 Comments

问题:Cloud Firestore在更新文档中的多个字段时,使用哪种方法更好?

原因:在Cloud Firestore中更新文档的多个字段时,可以使用两种方法:使用`update()`方法或使用`set()`方法并设置`{ merge: true }`选项。这两种方法的选择取决于个人偏好和需求。

解决方法:根据个人偏好和需求,可以选择使用以下两种方法之一。

方法一:使用`update()`方法

cityRef.update({
    name: "Chicago",
    capital: true
})

使用`update()`方法可以在不覆盖文档中其他字段的情况下,只更新指定的字段。这种方法适用于只需要更新特定字段的情况。

方法二:使用`set()`方法并设置`{ merge: true }`选项

cityRef.set({
    name: "Chicago",
    capital: true
}, { merge: true })

使用`set()`方法并设置`{ merge: true }`选项可以合并新的字段值与现有文档中的字段值,同时保留文档中其他字段的值。这种方法适用于需要更新多个字段且保留其他字段值的情况。

根据个人需求和偏好,选择适合的方法来更新Cloud Firestore文档中的多个字段。

0