【发布时间】:2018-02-17 03:09:22
【问题描述】:
我有字符串格式的日期,并且喜欢在 mongoshell 或自定义 python 脚本中转换为 ISOdate 格式来实现这一点。我尝试了所有可能的命令,但无法实现。我想知道如何在 mongodb 中将字符串日期转换为 ISOdate。
【问题讨论】:
-
你能用示例日期字符串发布你尝试过的查询吗?
我有字符串格式的日期,并且喜欢在 mongoshell 或自定义 python 脚本中转换为 ISOdate 格式来实现这一点。我尝试了所有可能的命令,但无法实现。我想知道如何在 mongodb 中将字符串日期转换为 ISOdate。
【问题讨论】:
假设
您的收藏名称为:youCollection
要从字符串转换为日期的字段名称:date
var records = db.youCollection.find();
records.forEach(function(doc) {
var dateStr = doc.date;
if(typeof dateStr === "string")
{
var date = new Date(dateStr);
db.youCollection.update({_id: doc._id}, {$set: {date: date}})
}})
这会将"2018-02-17T05:01:32.028Z"格式的日期转换为ISODate("2018-02-17T05:01:32.028Z")
【讨论】:
我后来找到了最佳解决方案
进入数据库
use yourdatabase_name
根据您的要求进行更改后运行它
db.YOURCOLLECION.find().forEach(function(element) {
element.DATE = new Date(element.DATE);
db.DATE.save(element);
})
【讨论】: