2016-12-04 67 views
0

從集合在我的MongoDB數據庫名爲類別的文檔的一個例子的所有文件更新特定元素是:如何在MongoDB中收集

{ 
    "_id": "Cookbooks", 
    "parent": "Non-Fiction", 
    "ancestors": [ 
     "Books", 
     "Non-Fiction", 
     "Cookbooks" 
    ] 
} 

這一類集合中的所有其他項目有這個相同的模式有數百個。我想要做的是在祖先數組的第一個位置插入一個額外的「全部」元素到所有這100個條目/文檔。對於如:

{ 
    "_id": "Cookbooks", 
    "parent": "Non-Fiction", 
    "ancestors": [ 
     "All", 
     "Books", 
     "Non-Fiction", 
     "Cookbooks" 
    ] 
} 

有沒有不需要寫一個完整的腳本,可以只使用蒙戈外殼或任何其他簡單的方式來完成的方法嗎? :/

回答

1

祖先推「全部」數組你應該使用$postiion: 0並更新第一位置的所有記錄應該使用MongoDB中multi:true

db.collectionName.update({}, 
    { $push: { "ancestors": {$each: ["All"], $position: 0} }}, 
    {multi:true}) 

in貓鼬:

ModelName.update({}, 
     { $push: { "ancestors": {$each: ["All"], $position: 0} }}, 
     {multi:true}, 
     function(err, result) { 
      if(err) { 
      // return error 
      } 
      //return success 
}); 
+0

嗨,Shaishab!非常感謝! :D – Utkarsh

+0

不客氣@UtkarshGupta –

0

您可以通過mongo shell推送該值。

下面是該查詢:

db.w6.update(
    { _id: "Cookbooks"}, 
    { $push: { "ancestors": "All" }} 
);