gpt4 book ai didi

Javascript mongoDB 采用变量名而不是变量值

转载 作者:可可西里 更新时间:2023-11-01 10:01:42 28 4
gpt4 key购买 nike

我正在使用带有 javascript 的 mongoDB。我正在使用以下函数更新集合中的项目并将“server_name”作为变量 attribute_name 传递:

    async update_server_attribute(db, server_id, attribute_name, new_value){
var my_query = { "server_id": server_id }
var updated_val = { $set: {attribute_name: new_value } }
db.collection("servers").updateOne(my_query, updated_val)
},

我希望字典更新为以下内容:

{"server_name" : new_val}

相反,它执行以下操作:

{"server_name" : old_value, "attribute_name" : new_val}

谁能解释这种奇怪的行为以及如何解决它?

最佳答案

在 JavaScript 中,{attribute_name: new_value } 被视为与 {"attribute_name": new_value } 相同。要让 JavaScript 使用 attribute_namevalue 作为键,请使用 computed property name用方括号括起来的语法:

var updated_val = { $set: {[attribute_name]: new_value } }

关于Javascript mongoDB 采用变量名而不是变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54348901/

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