【发布时间】:2018-04-10 18:32:04
【问题描述】:
我试图限制一个集合上的结果集,该集合不幸地将“date_modified”字段设置为字符串。尝试投影此字段时,我收到“无效的 ISO 日期”错误。代码是:-
var testDateString = "2018-03-10T00:00:000Z"
db.getCollection('updates').aggregate([
{$match:{"summary_display_tags.Source": "whatever" }},
{$project:{_id:0, source_id:"$source_id", update_date: { $concat: [ {$substr: [ "$date_modified", 0, 10 ]},"T00:00:000Z"]} }}
, {$project:{_id:0, source_id:"$source_id", update_date_string: "$update_date"
, updated_date: {$add: [new ISODate("$update_date")] }
//, updated_date2: {$add: [new ISODate(testDateString)] }
}}
])
我不明白的是,如果我尝试使用变量字符串(即updated_date2)进行投影,它可以正常工作,但是我在尝试根据投影字段字符串添加日期时遇到错误...
我们这里是 3.2,所以我没有 $dateToString 的选项。谢谢!
【问题讨论】:
标签: mongodb aggregation-framework