如何将mongodb ISODate转换为mongoDB中的字符串?

Man*_*anu 6 mongodb mongodb-query

我将我的ISODate作为ISODate在mongo中使用,我想以字符串格式使用特定的日期时间格式.

这是ISODate:

ISODate("2020-04-24T11:41:47.280Z")
Run Code Online (Sandbox Code Playgroud)

预期结果:

"2020-04-24T11:41:47.280Z"
Run Code Online (Sandbox Code Playgroud)

我希望在mongodb上发生这种情况,因为我的许多服务都期望采用这种格式,而且我不想在所有服务中进行更改,因为它是一项繁琐的工作.

Man*_*anu 12

当我尝试以下时,我得到了预期的结果.

ISODate("2020-04-24T11:41:47.280Z").toJSON()
Run Code Online (Sandbox Code Playgroud)

这会给我回来的字符串

"2020-04-24T11:41:47.280Z"
Run Code Online (Sandbox Code Playgroud)


Gab*_*bow 5

也许只是将日期转换为字符串?这与 mongo 关系不大,与 js 关系不大。moment 很棒,但在 mongo shell 脚本中无法使用。

db.events.find().forEach(function(doc) {     
   //   printjson ("Document is " + doc);    
   var isoDate = doc.t;   // t is correct key?     
   var isoString = isoDate.toISOString()    
   // update the collection with string using a new key    
   db.events.update(
        {"_id":doc._id},
        {
          $set: {"iso_str":isoString}
        }
   );
   // or overwrite using 't' key      db.events.update({"_id":doc._id},{$set:{"t":isoString}});
})
Run Code Online (Sandbox Code Playgroud)