如何使用findOneAndUpdate()将变量设置为猫鼬中的键

时间:2019-05-18 02:05:26

标签: node.js express mongoose postman

let VARIABLE = "last_name"<br>
let change_to = "lee"

userModel.findOneAndUpdate(<br>
    {first_name: "luke"},<br>
    {$set: {VARIABLE:change_to}},<br>
    {new:true},  
)

问题:如何在$set中使用变量?到目前为止,findOneAndUpdate()假设此对象中存在VARIABLE键->

{<br>
   _id:123,<br>
   first_name: 'luke',<br>
   VARIABLE: '123'<br>
}

实际上不是。有人可以帮我解决这个问题吗?

我正在使用Mongoose,NodeJs和Postman

没有错误消息,该程序实际上可以运行,但是没有更新,因为用户对象中不存在VARIABLE。

1 个答案:

答案 0 :(得分:0)

您可以使用es2015 computed property names

var a = 'name'
var b = { [a]: 'Bob' }
console.log(b)

let VARIABLE = "last_name"
userModel.findOneAndUpdate(
  {first_name: "luke"},
  {$set: {[VARIABLE]:change_to}},
  {new:true},  
)