Как импортировать формат файла .bson на mongodb - PullRequest
133 голосов
/ 21 июля 2011

Я экспортировал базу данных на сервер с помощью команды mongodump, а дамп хранится в файле .bson.Мне нужно импортировать это на моем локальном сервере, используя команду mongorestore.Однако это не работает.Что такое правильная команда mongorestore, а какие другие tools to restore db?

Ответы [ 7 ]

289 голосов
/ 05 декабря 2014

Импортировать .bson файл очень просто:

mongorestore -d db_name -c collection_name /path/file.bson

Incase только для одной коллекции . Попробуйте:

mongorestore --drop -d db_name -c collection_name /path/file.bson

Для восстановления всей папки, экспортированной с помощью mongodump:

mongorestore -d db_name /path/
62 голосов
/ 21 июля 2011

mongorestore - это инструмент, который используется для импорта файлов bson, которые были выгружены mongodump.

Из документов :

mongorestoreвывод из 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
34 голосов
/ 19 марта 2014
bsondump collection.bson > collection.json

, а затем

mongoimport -d <dbname> -c <collection> < collection.json
9 голосов
/ 21 июня 2017

Запустите следующую команду из командной строки, и вы должны оказаться в каталоге Mongo bin.

mongorestore -d db_name -c collection_name path/file.bson

9 голосов
/ 02 января 2015

Вы должны запустить эту команду mongorestore через cmd, а не в Mongo Shell ... Посмотрите на приведенную ниже команду ... ... 1001 *

Запустите эту команду в cmd (не в оболочке Mongo)

>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson

Здесь path\to\mongorestore.exe - это путь mongorestore.exe внутри папки bin в mongodb.dbname - это имя базы данных.collection_name - это название collection.bson.path\to\same\collection.bson - это путь к этой коллекции.

Теперь из оболочки mongo вы можете проверить, создана база данных или нет (если она не существует, база данных с таким же именем будет создана вместе с коллекцией).

1 голос
/ 03 февраля 2018

При удаленном доступе вы можете сделать это

для 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"
1 голос
/ 27 декабря 2016

Я использовал это:

mongorestore -d databasename -c file.bson fullpath/file.bson

1.скопируйте путь к файлу и имя файла из свойств (попробуйте поместить все файлы bson в другую папку), 2. Используйте это снова и снова с изменением только имени файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...