【发布时间】:2017-11-04 05:14:39
【问题描述】:
我的 mongoDB 中有类似以下示例的数据(集合:data_extraction_test):
{
"_id" : ObjectId("4f16fc97d1e2d32371003e27"),
"date" : "14 Nov 2000 08:22:00 -0800"
}
{
"_id" : ObjectId("4f16fc97d1e2d32371003e28"),
"date" : "14 Nov 2000 07:37:00 -0800"
}
{
"_id" : ObjectId("4f16fc97d1e2d32371003e29"),
"date" : "14 Nov 2000 07:25:00 -0800"
}
运行 javascript 代码时(摘录如下)出现以下错误:Can't convert from BSON type string to Date
let cursor = col.aggregate([
{
$project:{
_id: "$_id",
year: {$year: new Date("13 Nov 2000 01:41:00 -0800 (PST)")},
// month: new Date(new String("$date")),
month: { $month: "$date" },
}
},
{
$out: "dan"
}
]).toArray((err, items)=>{
assert.equal(null, err);
console.log("daniel",items);
resolve(true);
db.close();
});
如何将字符串转换为 ISODate?
【问题讨论】:
-
嗨,这是您数据库中文档的实际表示形式吗?你是如何将这些日期插入数据库的?
-
您好,这是此集合中文档的实际表示。我之前执行过这个函数: db.messages.aggregate([{$project : {date: {$substr : ["$headers.Date", 5, 26]}}},{$out: "date_extraction_test"} ])
-
查看Converting string to date in mongodb了解如何修复数据的详细信息
标签: javascript mongodb aggregation-framework