1

我在 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 索引工作正常吗?

编辑 我期待看到这样的东西 在此处输入图像描述

4

1 回答 1

1

accesses$indexStats 中的值仅在用户请求驱动的索引访问时增加。这不包括后台 TTL 删除:

accesses 字段报告的统计信息仅包括用户请求驱动的索引访问。它不包括通过 TTL 索引或块拆分和迁移操作等内部操作。

https://docs.mongodb.com/manual/reference/operator/aggregation/indexStats/

于 2018-12-21T19:00:14.330 回答