在MongoDB 3.2中获取收藏统计数据

时间:2016-09-16 16:23:15

标签: mongodb mongodb-java

在早期版本中说MongoDB 2.6,DBCollection类有这个方法getStats()。

DBCollection.getStats()

在新的3.x版本中,我们有一个新类

  

MongoCollection

并且无法获取统计信息。

我的问题是如何从MongoCollection类中获取统计信息

1 个答案:

答案 0 :(得分:2)

所以我认为我找到了适合你的解决方案。这有点hackish,但从我读的东西,我找不到任何其他方式。我正在阅读Mongo的资源,他们说他们简化了驱动程序并减少了集合的可用方法数量。我猜测getStats()可能会被切断,因为它看起来不像你经常做的事情,至少在大多数用例中都没有编程。所以这就是可以做的事情:

首先,MongoDatabase对象将具有runCommand()方法。 3.0 driver docs

如果查看here,您将获得可以使用runCommand()执行的所有命令的列表。

其中一个命令是collStats。根据文档,您似乎希望传递run命令一个具有以下形式的Bson对象:

{
   collStats: <string>,
   scale: <int>,
   verbose: <boolean>
}

其中collStats是您想要统计信息的集合的字符串名称。 Scale是一个可选字段;你可以在最后一个链接上阅读它。详细默认为false。

我不确定这会让你想要你想要的,但它至少会让你非常接近。让我知道它是如何运作的!