mongodb - MongoDB PartialFilterExpression 过滤器问题
问题描述
我有一个文档看起来像这样的项目集合:
{
"source" : "rest",
"serviceCode" : "fluff",
"fluff" : "puff",
"systemEntryTime" : ISODate("2018-05-16T09:04:00.585Z")
}
我有一个带有 TTL 选项的索引两周:
{
"v" : 1,
"key" : {
"systemEntryTime" : 1
},
"name" : "systemEntryTime_1",
"ns" : "storage.item",
"expireAfterSeconds" : NumberLong(1209600)
}
现在我希望 source = "ftp" 的某些文档具有不同的 TTL。为此,我使用 partialFilterExpression 创建了以下索引:
{
"v" : 1,
"key" : {
"systemEntryTime" : 1,
"source" : 1
},
"name" : "systemEntryTime_1_source_1",
"ns" : "storage.item",
"expireAfterSeconds" : NumberLong(1),
"partialFilterExpression" : {
"source" : {
"$eq" : "ftp"
}
}
}
不幸的是,这不起作用,我在这里做错了什么?我已经尝试删除旧索引并仅使用它,但没有根据 TTL 删除任何文档(或任何文档)。
解决方案
推荐阅读
- c++ - 如何并行执行 BIG RGB 图像的 jpeg 编码?
- sql - AnyLogic:由速率和匹配变量定义的到达
- java - Java 8 流 - 使用具有替代累加器返回类型的 reduce
- django - 访问使用 gunicorn 和 nginx 服务的 django 时出现错误 404
- python - 根据 pip freeze 安装的模块,但在虚拟环境中无法导入
- c++ - 如何使用智能指针实现围绕 C“对象”的包装器?
- python - 将 scikit-learn 决策树解析为 JSON
- android - 不同设备上的负边距
- amazon-web-services - 如何将我的 subdomin 连接到 Route 53 记录集到不同的端口?
- python - 如何调用函数并更改一些参数?