2
MongoサーバーからローカルのMongoインスタンスにデータベースをコピーしようとしています。pymongoを使ってパスワードで保護されたMongo Serverからデータベースをコピーするには?
私はこれをPythonで実行する必要があり、を実行していますが、もうcopy_database
メソッドはありません。代わりに、代わりにclient.admin.command('copydb', ...)
関数を使用しようとしました。しかし、それはもはやソースMongo Serverの認証をサポートしていないようです。
これに対処する方法はありますか?
おかげ
認証が必要なデータをコピーする前に、https://api.mongodb.com/python/current/examples/copydb.html#copying-a-databaseのドキュメントから '' 'command()' 'メソッドを参照してくださいdb.admin。 –
@juliansalasこれは、OPが使用しようとしているものです。しかし、SCRAM認証では不可能です。実際、そこに書かれていることは、ページの一番下にあります。しかし、質問は基本的に「あなたができない」と答えています。その理由は、[現在シェルで使用されているメカニズム](https://github.com/mongodb/mongo/blob/940a6b62189bface6aec2af698e5e9c4149af258/src/mongo/scripting/mozjs/mongo.cpp#L531)は、ワイヤープロトコル、かなり低レベルのものをしています。理論的には、純粋なBSONで実装することができます。しかし、それは厳しいだろう。 –
「データベースをコピーする必要がある」に関しては、通常のアプリケーションには本当に「そうしてはいけません」というような要求があることをお勧めします。 「管理ツールとスイス軍ナイフ」のようなものを作成しようとするのではなく、必要と思われる場合は、プロセスに欠陥があり、「データベースをコピーする必要性」を再検討する必要があります。汎用アプリケーションは、そのようなことを気にしてはいけません。それが「ツール用」の場合は、SASLハンドシェイクとraw BSONコマンドを実装するのが楽しいです。 –