在Firebase Firestore中,不允许直接使用变量作为属性名来调用.update()
方法。.update()
方法用于更新文档中的字段值,但是它要求属性名必须是已知的、存在于文档中的字段。
如果你想要使用变量作为属性名来更新字段值,可以使用JavaScript的计算属性名语法。计算属性名允许你在对象字面量中使用表达式作为属性名。你可以借助计算属性名来构建一个包含动态属性名的对象,然后将该对象作为参数传递给.update()
方法。
以下是一个示例:
// 假设你想要将变量`propertyName`的值作为属性名
var propertyName = "exampleProperty";
// 使用计算属性名构建包含动态属性的对象
var updateObject = {};
updateObject[propertyName] = "new value";
// 调用`.update()`方法,传递包含动态属性的对象
db.collection("yourCollection").doc("yourDocument").update(updateObject)
.then(function() {
console.log("文档更新成功");
})
.catch(function(error) {
console.error("文档更新失败:", error);
});
在这个示例中,我们首先声明了一个变量propertyName
,然后使用计算属性名构建了一个包含动态属性的对象updateObject
。最后,我们将updateObject
作为参数传递给.update()
方法来更新文档中的字段。
对于Firebase Firestore的更多信息和详细用法,请参考腾讯云提供的产品介绍链接地址:Firebase Firestore 产品介绍
领取专属 10元无门槛券
手把手带您无忧上云