我有db like;在mongodb中的特定值之後插入數組項目
{"_id" : 1 , children: ["2", "123", "5"]}
我想插入一個元素到子數組中。當你知道索引時很容易。 $ position可用於此目的。喜歡;
db.module_menu.update({"_id" : "1"} ,
{$push : {"children" : {
$each : ["12"] , $position : 1}}});
但讓我說我不知道位置索引,我知道我想插入的元素的值。
我有value: 12
和我想要插入的值。 insertAfter: 2
因此它應該是;
{"_id" : 1, text: "" , children: ["2","12", "123", "5"]}
我該怎麼辦?
通過children數組中的每個元素查找值的索引,並使用$ position插入值。這是唯一的方法嗎?
您可以嘗試$ addToSet –
$ addToSet可能無法保持數組排序 –
$ addToSet就像$推?它增加了集合的結尾。我錯了嗎? –