2016-03-31 18 views
13

MongoDB'de bir veritabanını dökmek ve içeriği farklı bir veritabanına geri yüklemek mümkün mü? Örneğin, şu şekilde:Mongorestore farklı bir veritabanına

mongodump --db db1 --out dumpdir 
mongorestore --db db2 --dir dumpdir 

Ama işe yaramıyor. İşte hata mesajı yok:

dumpdir gelen geri koleksiyonlarını listesini oluşturmaya dir

yapılır ... atlama, alt dizin "dumpdir/db1" ile ne bilmiyorum

cevap

32
aslında önceki çöplükten çıktı dizini "dahilinde" "database name" container dizinine işaret gerekir

:

mongorestore -d db2 dumpdir/db1 

Ve genellikle sadece < yolu>-dir yerine konum argümanı olarak iyidir, bu yalnızca "konum dışı" i.e "bağımsız değişkenler listesinin ortasında" olduğunda gereklidir.

p.s. Arşiv yedekleme dosyası için (mongorestore v3.4.10 ile tested)

mongorestore --gzip --archive=${BACKUP_FILE_GZ} --nsFrom "${DB_NAME}.*" --nsTo "${DB_NAME_RESTORE}.*" 
+0

Teşekkür ederiz! Bu çalıştı. Sanırım '-d' seçeneğini ve' -d' kullanılmadığında döküm klasörünü kullanırken döküm klasöründeki alt dizini belirtmeliyim. Bu kadar. – Cyker

+3

Arşivlenmiş dökümler için çözüm önerebilir misiniz (--gzip --archive)? –

+0

@SergioRykov Bu bilinen bir hata https://jira.mongodb.org/browse/TOOLS-1234 gibi görünüyor ve 3.3.10 içinde çözülecektir. Şu anda bunun için destek yok. – Philiiiiiipp

İlgili konular