Comanda.findOneAndUpdate(id,{$set: {"orden.0.fondos.2.estadoitem": estado}}, {}, function(err, comanda)
我需要间接地改变那个" 2"在
$set: {"orden.0.fondos.2.estadoitem"
无论我做什么,我都不能......这将保存我的生活= / ..
我已经尝试了一切,调用var pos = 2;然后$ set:{" orden.0.fondos.pos.estadoitem"也作为字符串pos =" 2&#34 ;;似乎没有任何作用
先谢谢
答案 0 :(得分:0)
似乎orden是一个数组,所以fondos。
你可以尝试
var doc = findOne({_id: id});
doc.orden[0].fondos[2] = 'anything you want';
doc.save((err,result)=>{})
答案 1 :(得分:0)
您可以动态创建$set
字段:
var set = { "$set": {} };
set.$set["orden.0.fondos." + pos + ".estadoitem"] = estado;
Comanda.findOneAndUpdate(id, set, {}, function(err, comanda) {
})