我有一个项目集合,文档看起来像这样:
{
"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(或任何文档根本没有)丢弃文档。