在 MongoDB 3.2 中获取 Collections 统计数据

Get Collections stats in MongoDB 3.2

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

DBCollection.getStats()

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

MongoCollection

而且它没有获取统计数据的方法。

我的问题是如何从 MongoCollection 中获取统计数据 class

所以我想我已经为您找到了解决方案。这有点骇人听闻,但从我所读的内容来看,我找不到任何其他解决方法。我正在阅读 Mongo 的资源,他们说他们稍微简化了驱动程序并减少了集合的可用方法数量。我猜 getStats() 可能被删掉了,因为它看起来不像是你经常做的事情,至少对于大多数用例来说至少不是以编程方式。所以这就是你可以做的事情:

首先,Mongo数据库对象会有一个runCommand()方法。 3.0 driver docs

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

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

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

其中 collStats 是您要获取其统计信息的集合的字符串名称。比例是一个可选字段;你可以在最后 link 阅读它。详细默认为 false。

我不确定这是否会如您所愿,但至少会让您非常接近。让我知道结果如何!