2016-05-31 70 views
0

我有一個MongoDB的文檔,如如何在迭代中用字段值本身更新MongoDb中的文檔?

{ 
"_id" : ObjectId("5731c75196dada69cd52419d"), 
"businessName" : "Test", 
"createdDate" : "2015-10-04 13:48:55", 
"modifiedDate" : "2016-03-03 10:37:48" 
} 

如果您發現該createdDate和modifiedDate列在YYYY-MM-DD H:我:s格式(這是從我的MySQL數據庫推出)。我需要將日期轉換爲ISO格式。 爲此,我使用下面的查詢。

db.users.update({"_id" : ObjectId("5731c75196dada69cd52419d")}, 
{$set : {"createdDate" : ISODate('2015-10-04 13:48:55')}}) 

我正在得到想要的結果。 現在我的問題是,如果我們有很多文檔,需要更新字段值,那麼我們如何在Mongodb本身的迭代中做到這一點。 這可能嗎?每次更新單個文檔將非常耗時。任何幫助將不勝感激。

回答

0

首先在值中創建,然後將其轉換爲ISODate將其存儲到您的數組中,然後將該數組傳遞給$ in操作符中的createdDate。

You can use toISOString() of javascript to convert values. 



db.getCollection('users').update({'_id':{$in:[ObjectId('574d61acf834e66681d37804'), 
    ObjectId('574d6185f834e66681d37803')]}}, 
    {$set : {"createdDate" :{$in:['your converted date 1','your converted date 2']}}, 
    {multi: true}) 
相關問題