1

リモート サーバー上の既存の mongo データベース「test」を同じリモート サーバーにコピーしようとしていますが、別の名前「test2」を取得する必要があります。Mongodb は、このサーバーでパスワード保護されています。

これを行う簡単な方法はありますか?(これからシェルスクリプトを作りたい)

私が試したのは、を使用してmongoに接続することです

mongo "IP"

次に、dbコピーを使用しようとしました

db.copyDatabase( "test", "test2", "localhost", "<username>", "<password>");

しかし、それはうまくいきませんでした...コピーを実行する前に自分自身を認証してもエラーが発生します...誰でもこれを最も簡単に行う方法はありますか?

前もって感謝します

4

2 に答える 2

0

私の推測では、ホスト名として「localhost」を使用すると問題が発生します。「localhost」は、シェルが実行されているマシンとmongodが実行されているマシンでは同じではないためです。「localhost」の代わりに、コマンドでデータベースが実行されているマシンのホスト名または IP を使用してみてください。

于 2012-11-20T17:59:16.930 に答える
0

auth コマンドを個別に実行してみます。だから、このようなもの:

mongo "IP"
use test
db.auth("<username>", "<password>")
db.copyDatabase("test", "test2")

同じサーバー上にあるため、localhost を配置する必要はないと思います

于 2012-11-20T18:13:48.560 に答える