获取MongoDB索引中的文档数量

时间:2017-09-20 15:39:09

标签: mongodb indexing

根据标题,我想知道是否有办法获取MongoDB索引中的文档数量。

要明确的是,我正在寻找以下任何一项:

  • 如何获取集合中的文档数量 - .count()
  • 如何获取索引的大小 - .stats()

1 个答案:

答案 0 :(得分:1)

索引引用其集合中的所有文档,除非索引是sparse indexpartial index。来自文档:

  

稀疏索引仅包含具有索引字段的文档的条目,即使索引字段包含空值也是如此。索引会跳过缺少索引字段的任何文档。索引是“稀疏的”,因为它不包含集合的所有文档。相比之下,非稀疏索引包含集合中的所有文档,为那些不包含索引字段的文档存储空值。

     

部分索引仅索引集合中符合指定过滤器表达式的文档

所以......

  • 非稀疏和非部分索引的答案是db.collection.count()
  • 通过运行没有条件的查询,暗示该索引然后计算结果,可以推断出稀疏和部分索引的答案。例如:

    db.collection.find().hint('index_name_here').count()