Javascript 将参数传递给数组更新程序方法{$set:{parameters:data}
我需要间接地改变这个“2” 无论我做什么,我都做不到。。这将拯救我的生命 我已经尝试了所有方法,调用var pos=2;然后$set:{“orden.0.fondos.pos.estadoitem”也作为字符串pos=“2”;似乎什么都不起作用Javascript 将参数传递给数组更新程序方法{$set:{parameters:data},javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我需要间接地改变这个“2” 无论我做什么,我都做不到。。这将拯救我的生命 我已经尝试了所有方法,调用var pos=2;然后$set:{“orden.0.fondos.pos.estadoitem”也作为字符串pos=“2”;似乎什么都不起作用 感谢advace似乎orden是一个数组,fondos也是 你可以试试 $set: {"orden.0.fondos.2.estadoitem" 您可以动态创建$set字段: var doc = findOne({_id: id}); doc.ord
感谢advace似乎orden是一个数组,fondos也是 你可以试试
$set: {"orden.0.fondos.2.estadoitem"
您可以动态创建
$set
字段:
var doc = findOne({_id: id});
doc.orden[0].fondos[2] = 'anything you want';
doc.save((err,result)=>{})
看起来你可以像我试过的那样进行字符串连接,它给了我这个Comanda.findOneAndUpdate(id,{$set:{“orden.0.fondos.”+pos+“.estadoitem”:estado},{},函数(err,Comanda){^SyntaxError:Unexpected token+似乎不需要运算符,如果我在那里放了一个变量,它就不会取值..这让我发疯了他们是数组,fondos是orden中众多数组之一,我试试看
var doc = findOne({_id: id});
doc.orden[0].fondos[2] = 'anything you want';
doc.save((err,result)=>{})
var set = { "$set": {} };
set.$set["orden.0.fondos." + pos + ".estadoitem"] = estado;
Comanda.findOneAndUpdate(id, set, {}, function(err, comanda) {
})