我想在 MongoDB 中创建一个部分索引,其中排除当前日期过去 30 天以上的文档。
像这样的东西(伪代码):
partialFilterExpression: { date: { $gte: { $currentDate - 30 days }} }
Run Code Online (Sandbox Code Playgroud)
应该$currentDate是实际的当前日期,换句话说,日期是动态值,而不是静态值。
这可能吗?
据我所知,部分索引当前不支持过滤表达式中的动态值,并且过滤表达式仅支持常规 mongo 查询运算符的子集(并且该子集不包含该运算符$date)。
shouldIndex实现您所需行为的一种方法是在文档上创建一个布尔字段,{shouldIndex: true}将其作为过滤器表达式,并让脚本每天为早于current_date - 30.
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |