javascript - 如何使用点符号映射到值?

标签 javascript firebase google-cloud-firestore

await t.set(itemDoc, {
    ['${order.catalogType}.item']: admin.firestore.FieldValue.arrayUnion(item)
}, {merge: true})

这不起作用。我试图让变量 order.CatalogType.item , order.catalogtype 是变量, item 是数组名称。项目应该是一个字符串。更新时,firestore 会执行整个 ${order.catalogType}.item。如果我删除 ${} 并仅使用 order.catalogType.item,我会得到 Chicken.item 而不是映射到鸡并更新项目,它只是创建一个名为 Chicken.item 的全新对象...有没有办法映射字符串和 var?

最佳答案

使用 JavaScript,如果您希望将变量插入到字符串中,则需要使用反引号

await t.set(itemDoc, {
    [`${order.catalogType}.item`]: admin.firestore.FieldValue.arrayUnion(item)
}, {merge: true})

关于javascript - 如何使用点符号映射到值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64305800/

相关文章:

firebase - firestore 是否支持跳过功能?

javascript - 未捕获的 TypeError : Failed to resolve module specifier "firebase/app". 相对引用必须以 "/"、 "./"或 "../"开头

firebase - 如何从 Flutter 中的 UploadTaskSnapshot 获取完整的 downloadUrl?

firebase - Firestore 安全规则 - 验证传入数据长度是否大于 2,但字段不是必需的

ios - 如何在 iOS 中使用 FieldValue.serverTimestamp() 作为模型类 - swift

swift - 获取 Firebase 文档作为数组

javascript - 在 JavaScript 中获取对象名称

javascript - 如何使用 spring mvc 在 jquery ajax 调用中重定向到 View

javascript - js中数组对象值不累加

javascript - 如何使用 Lodash 删除对象(查找并删除)