MongoDB データベース全体をテキスト (プレーンテキスト、json、または CSV) としてダンプするにはどうすればよいですか?
よく知らないアプリケーションを使用しています。そうしたいです。
- データベースをクリアする
- シード データをロードする
- データベース全体をテキストとしてダンプします
- 何かをする
- 再びダンプ
次に、2つを比較してください!
MongoDB データベース全体をテキスト (プレーンテキスト、json、または CSV) としてダンプするにはどうすればよいですか?
よく知らないアプリケーションを使用しています。そうしたいです。
次に、2つを比較してください!
mongodump
と の使用bsondump
:
ステップ 1 データベース全体を BSON ファイルにダンプします。
mongodump --db db1
ステップ 2 各 BSON ファイルを JSON ファイルに変換します。
for f in dump/db1/*.bson; do bsondump "$f" > "$f.json"; done
それが役立つことを願っています!
ユーティリティを使用できmongoexport
ます。デフォルトではjsonをダンプしますが、csv形式をダンプするように指定できます。
mongoexport --help
必要なすべてのオプションを提供します。
データベースからすべてのコレクションをダンプしたいとmongoexport
おっしゃいましたが、1 つのコレクションをダンプすることを想定しているため、データベースとコレクション名を指定する必要があります。
短いシェル スクリプトを記述して (Windows を使用している場合は、バッチ スクリプトに変換します)、次の効果を得ることができます。
#!/bin/sh
# assuming mongo bin is in your path
host=YOURMONGOHOST
port=YOURMONGOPORT
db=DBYOUWANTTOEXPORT
for c in `mongo --quiet $host:$port/$db --eval 'db.getCollectionNames()' | sed 's/,/ /g'`
do
mongoexport --host $host --port $port -d $db -c $c > $c.json
done