我有一个具有日期字段的集合,我想创建一个mongo视图,按当前日期过滤所有文档。例如,我希望我的视图包含过去7天的所有文档。
我有一个javascript脚本,可以使用聚合管道创建视图。我使用javascript方法 - 新的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的'sysdate'?每次我想要阅读视图时,我都不想执行重新创建视图的脚本。