我在Timestamp属性上建立了TTL索引,这是一个非常简单的索引。我已经使用MongoDb .Net Driver V 2.7.2在mongo上下文构造函数中创建了索引。 它正在按预期从给定集合中删除文档,但在MongoDBCompass社区以及通过Mongo终端对其进行检查时,“用法”未更新。
<code>
Here is the out put running $indexStat:
MongoDB Enterprise > db.testCollection.aggregate( [ { $indexStats: { } } ] ).pretty()
{
"name" : "_id_",
"key" : {
"_id" : 1
},
"host" : "****:27017",
"accesses" : {
"ops" : NumberLong(15),
"since" : ISODate("2018-12-20T22:52:01.132Z")
}
}
{
"name" : "****TTLIndex",
"key" : {
"Timestamp" : -1
},
"host" : "****:27017",
"accesses" : {
"**ops" : NumberLong(0),** <----- This is zero
"since" : ISODate("2018-12-20T22:52:01.132Z")
}
}
</code>
什么原因可能导致使用情况无法更新?其他集合上的其他TTL索引工作正常吗?
答案 0 :(得分:1)
仅在用户请求驱动的索引访问中,$ indexStats中的accesses
值才会增加。这不包括后台TTL删除:
访问字段报告的统计信息仅包含索引 由用户请求驱动的访问。它不包括内部 通过TTL索引删除或块拆分和迁移等操作 操作。
(https://docs.mongodb.com/manual/reference/operator/aggregation/indexStats/)