2017-02-24 62 views
0

我的集合中有一个Timestamp字段。它存储的格式是“2016-02-06 20:24:39 -0500”。mongodb中的日期转换

我需要在ISODate中转换mongodb CLI。任何人都可以告诉我如何以ISODate格式转换日期。

+0

它是一个约会对象或只是一个字符串? –

+0

它是一个字符串。我需要它的格式为2017-02-06T15:42:00.684Z。 – Soham

+0

你可以让一个mongo原生javascript巫婆循环遍历集合,读取每一行,并将日期字符串转换为日期对象并相应更新 –

回答

0

我们可以在循环中用MongoDB函数做一些事情。例如,我有以下文件;

{ 
    "_id" : ObjectId("58b036ff8f79f3a0ab96a1cd"), 
    "date" : "2016-02-06 20:24:39 -0500" 
} 

我的date字符串值转换为ISO格式与此查询

db.getCollection('test').find({_id:ObjectId("58b036ff8f79f3a0ab96a1cd")}).forEach(function(doc) { 
    var objDate = ISODate(doc.date); //Make an ISO date 
    doc.date = objDate; //Overwrite the value 
    db.test.save(doc); //Save the document 
}); 

现在,该文件将是这样的;

{ 
    "_id" : ObjectId("58b036ff8f79f3a0ab96a1cd"), 
    "date" : ISODate("2016-02-06T20:24:39.000Z") 
} 

enter image description here

+0

非常感谢。它的工作完美。 – Soham

+0

很高兴帮助:) –