Saya menggunakan mongodump dari alat mongo untuk mengunduh cadangan server saya. Namun saat saya menjalankan perintah, perintah mengembalikan "Bidang 'snapshot'" yang tidak dikenal.
Kesalahan penuh adalah:
Failed: error reading collection: Failed to parse: { find: "data", skip: 0, snapshot: true, $readPreference: { mode: "secondaryPreferred" }, $db: "xxx" }. Unrecognized field 'snapshot'.
Mongodump --versi pengembalian:
mongodump version: built-without-version-string
git version: built-without-git-spec
Go version: go1.7.3
os: linux
arch: amd64
compiler: gc
OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
Saya mungkin perlu menurunkan versi versi saya? Kalau tidak yakin ke mana harus pergi dari sini ...
mongodump --version
Output Anda menunjukkan Anda telah membangun alat dari sumber, jadi tidak jelas versi MongoDB apa yang sesuai. Jika memungkinkan saya akan menyarankan mengunduh binari resmi.Jawaban:
Anda tentu memiliki perbedaan versi antara mongodump vs server mongoDB Anda (3,6 vs 4.0).
Anda dapat menggunakan buruh pelabuhan untuk menyelamatkan:
Dengan buruh pelabuhan Anda dapat menggunakan versi yang tepat dari alat-alat CLI tanpa menginstalnya.
Anda bahkan dapat menentukan alias (dalam .bashrc):
Catatan: Folder tempat dump disimpan harus memiliki izin menulis sehingga pengguna mongodb dalam wadah dapat menulis ke volume yang dipasang. Ini dapat dicapai dengan secara manual mengatur izin pada folder dump sebelum menjalankan perintah di atas.
Dalam contoh di atas yang akan:
mkdir -m 777 dump
. Setelah dump selesai maka izin dapat diubah kembali menjadi normal (yaitu,sudo chmod 755 dump
).sumber
Failed: error dumping metadata: error creating directory for metadata file dump/{COLLECTION}: mkdir dump: permission denied
. Saya mencoba-u 0
dan-o /tmp/dump
, tetapi tidak berhasil. Saya akhirnya memulai wadah, menjalankan tempat sampah, lalu menyalinnya dari wadah. Adakah ide yang salah dengan one-liner?docker run --rm -v $(pwd):/workdir/ -w /workdir/ -u $(id -u) mongo:4.0 mongodump ...
Menambahkan
--forceTableScan
Contoh:
http://aug2uag.blogspot.com/2018/08/mongoexport-unrecognized-field-snapshot.html
sumber