【发布时间】:2014-12-19 05:46:00
【问题描述】:
我在 mongo 中有我的 ISODate 作为 ISODate,我只想用特定日期时间格式的字符串格式。
这是 ISODate:
ISODate("2020-04-24T11:41:47.280Z")
预期结果:
"2020-04-24T11:41:47.280Z"
我希望这发生在 mongodb 上,因为我的许多服务都期望采用这种格式,并且我不想对所有服务进行更改,因为这是一项乏味的工作。
【问题讨论】:
-
您是从
mongoshell 还是特定驱动程序执行此操作?ISODate()只是标准 JavaScriptDate对象的便捷包装器,因此您可以这样做:ISODate("2020-04-24T11:41:47.280Z").toISOString()。如果您使用 JavaScript,我建议您使用 moment.js 进行更高级的格式化。 -
您是否正在寻找一种将所有数据从 ISODate 转换为字符串的方法。或将其作为日期保存在 mongodb 中,并在后端请求时将其解析为字符串。
-
我在 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 请编辑您的问题以包含代码。 cmets 中的代码格式不正确。
-
快速提问。您是否仍然能够将预期结果存储在字符串而不是日期对象中进行日期范围查询?
标签: mongodb mongodb-query