Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Arrays mongodb如何将值推入指定的数组下标 我的环境是mongodb 2.6.4_Arrays_Mongodb_Mongodb Query - Fatal编程技术网

Arrays mongodb如何将值推入指定的数组下标 我的环境是mongodb 2.6.4

Arrays mongodb如何将值推入指定的数组下标 我的环境是mongodb 2.6.4,arrays,mongodb,mongodb-query,Arrays,Mongodb,Mongodb Query,我需要在指定的数组下标中插入一个数组。 我试过了 我需要先推送第一个数组,然后将数组插入指定的数组下标 db.a.update({_id:1},{$push:{'list':[1]}},upsert=true) db.a.update({_id:1},{$push:{'list.2':2}},upsert=true) 我用了下面的一句话是不正确的 db.a.update({_id:1},{$push:{'list.2':2}},upsert=true) 我想要一份声明来实现它。我该怎么办?您

我需要在指定的数组下标中插入一个数组。 我试过了

我需要先推送第一个数组,然后将数组插入指定的数组下标

db.a.update({_id:1},{$push:{'list':[1]}},upsert=true)
db.a.update({_id:1},{$push:{'list.2':2}},upsert=true)
我用了下面的一句话是不正确的

db.a.update({_id:1},{$push:{'list.2':2}},upsert=true)
我想要一份声明来实现它。我该怎么办?

您应该在mongo中使用运算符。$position的索引从0开始,所以您应该小心使用索引。查询如下所示:

db.collection.find({_id:1},{$push:{list:{$each:[2],$position:1}}})

如何在大于数组长度的位置插入值,中间位置用null填充。@FankZhou这里需要什么?在指定位置应答推送元件。如果您试图在数组中插入大于数组位置长度的元素,则只有中间元素将为“null”。在指定位置的数组中插入一个值,数组将自动扩展到其指定大小,有一个查询是它?对不起,我的英语太差了。您的示例只在最后一个示例中输入了值。我想把元素推到指定的位置。@FankZhou如果你想在列表的最后添加元素,那么你只需使用
$push
,而不需要任何索引。