как я могу установить переменную в качестве ключа в мангусте с помощью findOneAndUpdate () - PullRequest
0 голосов
/ 18 мая 2019
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 голосов
/ 18 мая 2019

Вы можете использовать es2015 вычисленные имена свойств .

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},  
)
...