PythonでMongoDbステートメントを実行する
質問
Pythonで実行されているWebサーバーがあります。彼はいくつかのアプリからいくつかのデータを取得しており、これらをMongoDBに保存する必要があります。私のMongoDBはシャーディングされています。 ここで、WebサーバーにShardsMongoDBの量を認識させたいと思います。現時点では、彼はこれをcfgファイルから読み取ります。MongoDbには、printshardingstatusという名前のステートメントがあり、すべてのシャードを表示できます。そこで、Pythonserverからこのステートメントを呼び出そうとしました。しかし、それは不可能のようです。PymongoAPIにはそのような関数はありません。
私の質問は、PythonでMongoDBステートメントを実行して、MongoDBで直接渡されて実行される可能性があるかどうかです。
解決
printShardingStatus用のサーバーコマンドはありません。これは単なるmongo(javascript)シェルヘルパー関数です。ヘルパーはに対するいくつかのクエリです 構成データベースと、見栄えを良くするためのグループ化とフォーマット。
javascriptシェルでどのように機能するかを知りたい場合は、 関数から親( "()")を削除するだけで、 javascriptコード。
これがjavascriptシェルのコードです。 ジェネラコディセタグプレ
他のヒント
pymongo または
通常のコレクションと同じように、構成データベースを取得して、シャードコレクションでfind()を実行するだけです。