我有我的ISODate在mongo作为ISODate,我想只是在具有特定日期时间格式的字符串格式。如何将mongodb ISODate转换为mongoDB中的字符串?
这里是ISODate:
ISODate("2020-04-24T11:41:47.280Z")
预期结果:
"2020-04-24T11:41:47.280Z"
我想这是对的MongoDB只能作为我的很多服务都期待这种格式发生了,我不不想将所有服务中的变化作为一项繁琐的工作。
我有我的ISODate在mongo作为ISODate,我想只是在具有特定日期时间格式的字符串格式。如何将mongodb ISODate转换为mongoDB中的字符串?
这里是ISODate:
ISODate("2020-04-24T11:41:47.280Z")
预期结果:
"2020-04-24T11:41:47.280Z"
我想这是对的MongoDB只能作为我的很多服务都期待这种格式发生了,我不不想将所有服务中的变化作为一项繁琐的工作。
我在尝试以下时获得了预期的结果。
ISODate("2020-04-24T11:41:47.280Z").toJSON()
这会给我后面的字符串
"2020-04-24T11:41:47.280Z"
厌倦了寻找它,谢谢 – mulya 2015-12-03 15:11:59
也许只是转换成日期字符串?这与mongo比js少。时刻很棒但在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});
})
我刚刚遇到了这个问题。 ISODate没有内置任何东西。所以我将ISODate转换成JSON文本,然后我做了一个子字符串来获得我想要的部分。您也可以使用ISODate上的方法分别获取年份,月份,日期,然后将它们合并。
function formatDate(isoDate){
return isoDate.toJSON().substr(9, 20);
}
我认为你需要什么dateToString功能 https://docs.mongodb.com/manual/reference/operator/aggregation/dateToString/
_鼓励与外部资源的链接,但请在链接上添加上下文,以便您的同行用户了解它是什么以及它为什么在那里。如果目标网站无法访问或永久离线,请务必引用重要链接中最相关的部分._ – Bugs 2017-02-28 10:27:28
你从'mongo'壳这样做,或特定的驱动程序? 'ISODate()'只是一个围绕标准JavaScript'Date'对象的便捷包装,因此您可以:'ISODate(“2020-04-24T11:41:47.280Z”)。toISOString()'。如果你使用JavaScript,我会建议[moment.js](http://momentjs.com/)更高级的格式。 – Stennie 2014-12-19 06:07:50
您是否在寻求将ISODate中的所有数据转换为字符串的方法。或者在mongodb中保存它作为日期,并在后端请求时将其解析为字符串。 – 2014-12-19 06:10:07
我正在mongo中运行一个更新脚本来将字符串日期转换为ISODate,这里是我正在运行db.events.find()。forEach(function(element){if(element.t && typeof element。 t ===“string”){ element.t = ISODate(element.t); }})这里element.t将是“2020-04-24T11:41:47.280Z”。运行此脚本后,它将转换为ISODate(“2020-04-24T11:41:47.280Z”)。现在我想把它转换回mongo中相同的格式“2020-04-24T11:41:47.280Z”。我不能在mongodb中使用时刻。 – Manu 2014-12-19 06:19:42