Cloud Firestore 更新文档中的多个字段
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)
?
问题: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文档中的多个字段。