2014-04-03 44 views
2

我正試圖從「子文檔」中的「所有」文檔中移出一個字段。任何幫助表示讚賞。將字段值向上移動

模式看起來像這樣。 「所有」文檔沒有必要具有「試用」子文檔,但需要爲可用的更新完成更新。非常感謝mongo或ruby代碼的幫助。

{ 
"_id": ObjectId("37035cs978952"), 
"tryouts": { 
      "dat": "2011-09-09T15: 52: 26+01: 00", 
      "a": "a", 
      "b": "c", 

     } 
}  

我所需要做的就是將「dat」值向上移動,使其具有類似的效果;

{ 
"_id": ObjectId("37035cs978952"), 
"dat": "2011-09-09T15: 52: 26+01: 00" 
"tryouts": { 
      "a": "a", 
      "b": "c", 

     } 
}  

回答

2

你可以試試這個 -

db.sample4.find().forEach(function(doc){var value = doc.tryouts.dat;db.sample4.update(doc,{$set:{dat:value}});}); 
db.sample4.update({},{$unset:{"tryouts.dat":1}},true); 
+0

+1。很好的答案。 – svjn