我有一个包含日期字段的集合,我想创建一个 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 的'系统日期'?我不想每次想读取视图时都执行重新创建视图的脚本。
看起来 MongoDB 3.7 正在开发此功能。
https://jira.mongodb.org/browse/SERVER-23656
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)