2016-05-31 58 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}) 
相关问题