javascript - 如何将变量的值传递给 firebase 调用?

标签 javascript arrays firebase

从 firebase 文档复制:

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

// To update age and favorite color:
db.collection("users").doc("frank").update({
    "age": 13,
    "favorites.color": "Red"
})
.then(function() {
    console.log("Document successfully updated!");
});

我希望能够做到:

const var1 = 'color'
const color = 'red'
db.collection("users").doc("frank").update({
    "age": 13,
    "favorites.$var1$": color
})

其中 $var1$ 指的是 $var1$ 所保存的值,在本例中为食物、颜色或主题。

括号表示法在这种情况下不起作用,因为我将一个字符串传递给 firebase,它不会像那样解释。

预先构建字符串,例如:

const aString = 'favorites.' + var1 

也不起作用,因为您不能像这样传递变量aString:

db.collection("users").doc("frank").update({
    "age": 13,
    aString: "Red"
})

有办法吗?

最佳答案

使用方括号[]:

db.collection("users").doc("frank").update({
    "age": 13,
    [aString]: "Red"
})

有关详细信息,请参阅 MDN - Computed property names

关于javascript - 如何将变量的值传递给 firebase 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59882044/

相关文章:

javascript - back4app 云代码无效功能问题

javascript - 无法使用 JQuery(或仅使用 javascript)解析复杂的 JSON 响应

javascript - 使用shift查找带有字符串/数组的文档中的元素

reactjs - React native 中的未知模块 "Firebase"

ios - 如何选择给定数组中不包含的文档?

javascript - Chrome 扩展 - 当我包含 jQuery 库时,为什么 JS 会提示?

javascript - DOM 直接从 HTML 代码创建对象

java - 调整数组大小

C:将数组(指针)传递给函数

ios - 一旦 13 位时间戳保存在 firebase 中,如何在 Xcode 中获取它并将其转换为日期?