在 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。
我不确定这是否会如您所愿,但至少会让您非常接近。让我知道结果如何!
在早期版本中说 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。
我不确定这是否会如您所愿,但至少会让您非常接近。让我知道结果如何!