如何在Heroku上使用MongoID告诉DB大小?

时间:2012-11-20 01:54:16

标签: heroku mongoid mongoid3

我们在Heroku上使用MongoHQ插件,使用Mongoid 3.0适配器。插件计划有一个大小限制,当达到DB限制时,Mongo将无声地写入(除非配置为安全模式 - 在这种情况下它会抛出异常)。

我正在尝试从应用内部查询我们的距离,如果我们达到了限制就发送提醒。如何运行类似db.stats()命令但使用Mongoid?

2 个答案:

答案 0 :(得分:1)

我已经在使用Moped作为驱动程序的Mongoid 3.x中找到了如何做到这一点,而不是10gen的Ruby驱动程序。

Moped的作者本人回答了github issue提出的问题。

Mongoid.default_session.command(collstats: 'collection_name')

这将从Mongo控制台返回与db.stats()相同的结果。作为额外的奖励,如果集合有上限,返回值中将会有一个标志,表示。

答案 1 :(得分:0)

您可以在对象上调用“.db”方法(例如文档),并在其上执行.stats。

例如:

MyBlog.db.stats

对于Mongoid 3.0.0之前的版本,Mongoid.master.stats也应该有效。