2013-12-16 62 views
1

我需要像這樣在我users集合添加一個哈希每個文檔:的MongoDB:如何這個哈希添加到每個文檔集合中

"authorization" : { 
     "_id" : ObjectId("52712baabe40ac667d000001"), 
     "all" : "true", 
     "boxscore" : "false", 
     "created_at" : ISODate("2013-10-30T15:54:18.397Z"), 
     "depth_charts" : "false", 
     "fantasy_news" : "false", 
     "injuries" : "false", 
     "matchups" : "false", 
     "news" : "false", 
     "odds" : "false", 
     "play_by_play" : "false", 
     "previews" : "false", 
     "recaps" : "false", 
     "schedule" : "false", 
     "standings" : "false", 
     "statistics" : "false", 
     "updated_at" : ISODate("2013-11-12T21:47:13.808Z") 
    } 

一些users已經有這個哈希值,但不是所有的他們。如果他們已經嵌入了文檔,覆蓋現有的用戶就可以了。爲了完成這個任務,MongoDB的控制檯中是否有使用JavaScript的方法?

我還應該注意到,這是一個嵌入式文檔。因此ObjectId對於users集合中的每個文檔都應該是唯一的。

回答

1
db.users.update({}, {$set: {authorization: { 
     "_id" : ObjectId(), 
     "all" : "true", 
     "boxscore" : "false", 
     "created_at" : ISODate("2013-10-30T15:54:18.397Z"), 
     "depth_charts" : "false", 
     "fantasy_news" : "false", 
     "injuries" : "false", 
     "matchups" : "false", 
     "news" : "false", 
     "odds" : "false", 
     "play_by_play" : "false", 
     "previews" : "false", 
     "recaps" : "false", 
     "schedule" : "false", 
     "standings" : "false", 
     "statistics" : "false", 
     "updated_at" : ISODate("2013-11-12T21:47:13.808Z") 
    }}}, {multi: true}) 
+0

嵌入'_id'在這種情況下智能?我假設一個會自動生成,如果它被省略(這可能是正確的方式去做這個? – randombits

+0

爲了澄清,你想_id是唯一的每個文檔? – user602525

+0

是的,這是一個嵌入式文檔 - 去猜測它會自動生成? – randombits

相關問題