2016-09-16 87 views
2

在早期版本中说MongoDB 2.6,DBCollection类具有此方法的getStats()。在MongoDB中获取收藏统计3.2

DBCollection.getStats() 

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

MongoCollection

,它有没有方法来获取统计信息。

我的问题是如何从MongoCollection类

+0

我知道MongoCollection是一个接口。但Mongodatabase.getCollection()返回MongoCollection,我不知道如何检索V3.2中的集合统计信息java驱动程序 –

+0

我不知道这是否会起作用,但是您是否尝试了看是否有可能将MongoCollection投射到DBCollection? –

+0

试过,没有工作 –

回答

1

所以,我想我已经找到你的解决方案获得的统计信息。这有点冒险,但从我读的内容来看,我找不到任何其他方式。我正在阅读Mongo的资源,他们说他们简化了驱动程序,并减少了可用方法的数量。我猜想getStats()可能会被削减,因为它看起来并不像你会经常做的事情,至少在大多数使用情况下是不会编程的。所以这里是你可以做什么:

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

如果你看here,你会得到一个你可以用runCommand()执行的所有命令的列表。其中之一是collStats。基于文档,它看起来像你会希望通过运行命令具有以下形式的BSON对象:

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

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

我不确定这会让你想要你想要的,但它至少会让你靠得很近。让我知道它是如何工作的!

+0

是的,我上周使用了db.runCommand(),它工作了 –

+0

Fatnastic。那么你能否投票并接受我的回答? –