Відповіді:
Імпортувати .bson файл дуже просто :
mongorestore -d db_name -c collection_name /path/file.bson
Напишіть лише на одну колекцію. Спробуйте:
mongorestore --drop -d db_name -c collection_name /path/file.bson
Для відновлення повної папки, експортованої mongodump
:
mongorestore -d db_name /path/
Mongorestore -h [host] -u [user] -p [pass] -d [database] -c [collection] [bson file]
mongorestore
це інструмент для імпорту файлів bson, які викинули mongodump
.
З документів :
Монгоресторе приймає вихід з монгопомпа та відновлює його.
Приклад:
# On the server run dump, it will create 2 files per collection
# in ./dump directory:
# ./dump/my-collection.bson
# ./dump/my-collection.metadata.json
mongodump -h 127.0.0.1 -d my-db -c my-collection
# Locally, copy this structure and run restore.
# All collections from ./dump directory are picked up.
scp user@server:~/dump/**/* ./
mongorestore -h 127.0.0.1 -d my-db
dump/dbName/collectionName.bson
структуру папок? Я раніше mongodump
, але тепер я хочу імпортувати його за mongorestore
допомогою віддаленої скриньки Linux.
mongorestore --collection people --db accounts myDump/accounts/people.bson
bsondump collection.bson > collection.json
і потім
mongoimport -d <dbname> -c <collection> < collection.json
mongoimport and mongoexport do not reliably preserve all rich BSON data types because JSON can only represent a subset of the types supported by BSON. As a result, data exported or imported with these tools may lose some measure of fidelity.
Виконайте наступне з командного рядка, і ви повинні опинитися у каталозі бін Mongo.
mongorestore -d db_name -c collection_name path/file.bson
Ви повинні запустити цю команду mongorestore через cmd, а не на Mongo Shell ... Подивіться нижче на команду на ...
Виконати цю команду на cmd (не на оболонці Mongo)
>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson
Ось path\to\mongorestore.exe
шлях до mongorestore.exe
внутрішньої папки mongodb. dbname - ім'я бази даних. collection_name
ім'я collection.bson. path\to\same\collection.bson
це шлях до цієї колекції.
Тепер з оболонки mongo ви можете переконатися, що база даних створена чи ні (якщо її не існує, база даних з таким іменем буде створена з колекцією).
Для довідки, якщо хтось все ще бореться з монгоресторі.
Ви повинні запустити monogorestore в терміналі / командному рядку, а не в консолі mongo.
$ mongorestore -d db_name /path_to_mongo_dump/
для отримання більш детальної інформації ви можете відвідати офіційні документації
https://docs.mongodb.com/manual/reference/program/mongorestore/
Якщо ваш доступ віддалений, ви можете це зробити
для bson:
mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people "/home/${USER}/people.bson"
для стиснення bson у форматі .gz (gzip):
mongorestore --host m2.mongodb.net --port 27016 --ssl --username $user --password $password --authenticationDatabase $authdb -d test -c people --gzip --dir "/home/${USER}/people.bson.gz"
mongorestore -d db_name / шлях /
переконайтеся, що ви запускаєте цей запит у бін папці mongoDb
C: \ Файли програми \ MongoDB \ Server \ 4.2 \ bin -
потім запустіть цю вище команду.
mongoexport
якщо ви експортуєте лише одні колекції.mongoimport
давав мені помилки "недійсного характеру". Дякую!