yur*_*s87 5 indexing mongodb mongodb-query
是否可以基于 和 创建复杂partialFilterExpression索引expireAfterSeconds?我想要进行基于 TTL 的清理,但我也想仅对某些记录执行此操作。我尝试使用命令创建这样的索引:
db.expirational.createIndex(
{ created_on : 1 },
{ expireAfterSeconds : 20, partialFilterExpression: { rating: 2 } }
)
Run Code Online (Sandbox Code Playgroud)
我的记录是这样的:db.expirational.insert({ 'name': 'record4', 'rating' : 1, 'created_on' : new Date() })
TTL 部分工作并清理集合,但它不关心partialFilterExpression: { rating: 2 }.
是预期的吗?我的命令不正确吗?如果没有,我们应该创建一个功能请求吗?我发现这样的用例非常有用。
我会根据@Stennie的评论来回答。我真的忘记了我在那台机器上的 mongo 实例已经很旧了。结果是3.0.6。部分索引是在3.2中才引入的。
我真的很欣赏 mongo 的灵活性和宽容性,但有时,如果它至少在传递未识别的选项时发出警告,那就太好了。
无论如何,我的场景在 3.4.5 上运行得非常顺利。
| 归档时间: |
|
| 查看次数: |
2388 次 |
| 最近记录: |