Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将参数传递给数组更新程序方法{$set:{parameters:data}_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript 将参数传递给数组更新程序方法{$set:{parameters:data}

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

我需要间接地改变这个“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.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) {

})