2016-10-16 22 views
1

オンラインでデータベースをホストしようとしており、オンラインで見つかったものに基づいて、mongodumpを使用してデータベースをエクスポートする必要があります。Mongodumpが正常に動作しない

間違っていないよ場合mongodumpを使用する方法がある:私は上記のコマンドを使用するときに

mongodump -d <db-name> -o <directory> 

、私は、ターミナルで次のエラーが表示されます。

Failed: error connecting to db server: no reachable servers 

私が追加しようとしました--host=127.0.0.1mongodumpの後に:

mongodump --host=127.0.0.1 -d <db-name> -o <directory> 

しかし、私はまだ同じ結果を得る。私はここで間違って何をしていますか?

更新:

私は、次のコマンドを使用して、MongoDBのサービスを開始することで、エラーを克服するために管理:私はmongodumpを実行したときに

brew services start mongodb 

は今、それが動作しているようだが、私はすることができます」それが見つかるはずのディレクトリに移動すると見つかりません!

注:私は流星の技術を使用しています、と私はmeteor mongoコマンドを使用して、私のデータベースにアクセスしていますが

+1

「mongo」を実行してmongoシェルに接続できますか? – andresk

+0

@andreskいいえ私は私のプロジェクトをビルドするためにMeteor JSを使用しているので、私は "meteor mongo"を使用して私のモンゴを実行するのが普通です。 –

+0

@andresk私はmongoを走らせることができましたが、私は質問 –

答えて

1

あなたは試みることができる:

実行mongodump --db <database> --port 3001を使用すると、出力ファイルを作成するディレクトリから(それを流星がMongoDBのデフォルトポートを使用していないようだと、ファイルとダンプ・ディレクトリ)を作成します

ポートは、3001です

また、何も表示されない場合は、-vフラグをverbose modeに設定して実行してください。これは、ファイルが作成されていない理由を調べるのに役立ちます。また、データベース名が正しいことを確認してください。

+0

ありがとう、今それを試して –

+0

私はコンソールで、次のエラーメッセージが表示されるので、問題はあなたの解決策ではないと思うが動作しませんでした: "位置の引数は許可されていません:[流星]"、私のデータベース名は "meteor"なので、これは私のプロジェクトを実行するためのコマンドです。したがって、私は問題がデータベース名のためかもしれないと信じています。 –

+0

私は今それを変更しようとしています。ありがとう –

1

リモートサーバーからmongodumpを実行している場合、バージョンが互換性がないことがあります。これにより、ダンプされているドキュメントがなくなり、警告が表示されなくなります。 (少なくとも私のテストから、mongodump 2.6.10はmongod 3.2.13からダンプすることができません)

また、bashの特殊文字がクエリを分割していないことを確認してください。

例:

mongodump --db DB_name --collection colname --query "{$or: [something1, something]}" 

あなたは\$をエスケープする必要があるとして、前のクエリが動作しません。

mongodump --db DB_name --collection colname --query "{\$or: [something1, something]}" 
関連する問題