如何使用可变猫鼬查询?

0 mongoose mongodb node.js

数据模式

ID: String,    
Item: {
       Possess: {
          Jewel: [Number]
     }
Run Code Online (Sandbox Code Playgroud)

代码

var temp = 1
db.collection.update({"ID":"sample"},{"$set":{"Item.Possess.Jewel.1":888})
Run Code Online (Sandbox Code Playgroud)

如何在“Item.Possess.Jewel.1”中使用变量 temp?

“Item.Possess.Jewel.temp”不起作用

Joh*_*yHK 5

您必须以$set编程方式构建对象:

var temp = 1;
var set = {$set: {}};
set.$set["Item.Possess.Jewel." + temp] = 888;
db.collection.update({"ID":"sample"}, set);
Run Code Online (Sandbox Code Playgroud)