我有一个包含日期字段的集合,我想创建一个mongo视图,该视图按当前日期筛选所有文档。例如,我希望我的视图包含过去7天的所有文档。
我有一个javascript脚本,它使用聚合管道创建视图。我使用javascript方法-new Date()来编写过去7天的条件:
{
"$lt": [
{"$subtract": [new Date(), "$DateOfDocument"]}, // difference in milliseconds
1000 * 60 * 60 * 24 * 7 // 7 days in milliseconds
]
}
但是当我执行创建视图的脚本时,mongo计算'new Date()'并创建视图,结果'new Date()'为ISODate。
现在,聚合管道按我上次执行脚本的时间计算视图,而不是按实际的当前日期。
{
"$lt": [
{"$subtract": [ISODate("2018-02-05T06:52:32.10+0000"), "$DateOfDocument"]},
604800000
]
}
有没有办法得到按当前日期筛选的视图?当前日期的任何聚合方法,如oracle的
'系统日期'
? 我不想每次想读视图时都执行重新创建视图的脚本。