根据标题,我想知道是否有办法获取MongoDB索引中的文档数量。
要明确的是,我不正在寻找以下任何一项:
.count()
。.stats()
。答案 0 :(得分:1)
索引引用其集合中的所有文档,除非索引是sparse index或partial index。来自文档:
稀疏索引仅包含具有索引字段的文档的条目,即使索引字段包含空值也是如此。索引会跳过缺少索引字段的任何文档。索引是“稀疏的”,因为它不包含集合的所有文档。相比之下,非稀疏索引包含集合中的所有文档,为那些不包含索引字段的文档存储空值。
部分索引仅索引集合中符合指定过滤器表达式的文档
所以......
db.collection.count()
通过运行没有条件的查询,暗示该索引然后计算结果,可以推断出稀疏和部分索引的答案。例如:
db.collection.find().hint('index_name_here').count()