gpt4 book ai didi

javascript - 更新 Firestore 文档时可以动态更改键和值吗?

转载 作者:行者123 更新时间:2023-12-01 00:21:34 26 4
gpt4 key购买 nike

所以我有这样的可调用云函数:

const db = admin.firestore()

exports.changeEventDataInUserSubcollection = functions.https.onCall(async (data, context) => {


const updatedKey = data.updatedKey
const updatedValue = data.updatedValue
const creatorID = data.creatorID
const eventID = data.eventID

try {

return db.doc(`users/${creatorID}/createdEvents/${eventID}`).update({updatedKey: updatedValue})


} catch (error) {
console.log(error)
return Promise.resolve(null)
}


})

正如您在.update({updatedKey: UpdatedValue})中看到的,我想从客户端设置键和值。这样我就可以动态更新文档。我希望 updatedKeyupdatedValue 来自客户端

但是我上面的代码似乎不起作用,因为我有这个警告:

enter image description here

updatedKey 已声明但从未使用。那么如何在更新Firestore文档时动态更改键和值呢?我可以这样做吗?

最佳答案

此处的问题与 Cloud Functions 或 Firestore 无关。这是 JavaScript 语法。如果你想使用变量的值作为对象的键,需要使用 square bracket syntax对于对象:

return db
.doc(`users/${creatorID}/createdEvents/${eventID}`)
.update({ [updatedKey]: updatedValue })

请注意 updatedKey 周围的方括号,它告诉 JavaScript 您想要将变量的值替换为键的名称。

您本可以实现同样的目标,如下所示:

const object = {}
object[updatedKey] = updatedValue

return db
.doc(`users/${creatorID}/createdEvents/${eventID}`)
.update(object)

关于javascript - 更新 Firestore 文档时可以动态更改键和值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59369736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com