0

HerokuでMongoHQアドオンを使用し、Mongoid3.0アダプターを使用しています。アドオンプランにはサイズ制限があり、DB制限に達すると、Mongoはサイレントに書き込みに失敗します(セーフモードに設定されている場合を除きます。この場合、例外がスローされます)。

アプリ内からどれだけ近いかを照会し、制限に達した場合にアラートを送信しようとしています。db.stats()コマンドのようなものをMongoidを使用して実行するにはどうすればよいですか?

4

2 に答える 2

1

10genのRubyドライバーではなく、Mopedをドライバーとして使用するMongoid3.xでこれを行う方法を見つけました。

この問題で提起されたgithubの問題に答えたのは、Moped自身の作者でした。

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

db.stats()これにより、Mongoコンソールからの結果と同じ結果が返されます。追加のボーナスとして、コレクションに上限がある場合、戻り値にそのことを示すフラグが表示されます。

于 2013-01-22T02:15:15.710 に答える
0

オブジェクト(ドキュメントなど)で「.db」メソッドを呼び出して、.statsを実行できます。

例えば:

MyBlog.db.stats

Mongoid 3.0.0より前のバージョンでは、Mongoid.master.statsも機能するはずです。

于 2012-11-20T08:16:57.000 に答える