Дамп Монго Коллекция в формате JSON - PullRequest
98 голосов
/ 24 января 2012

Есть ли способ вывести коллекцию монго в формат json? Либо на оболочке, либо с помощью драйвера Java. Я ищу тот, который имеет лучшую производительность.

Ответы [ 5 ]

147 голосов
/ 24 января 2012

Mongo включает утилиту mongoexport (см. Документацию) , которая может создавать дамп коллекции. Эта утилита использует собственный libmongoclient и, вероятно, является самым быстрым методом.

mongoexport -d <database> -c <collection_name>

Также полезно:

-o: записать вывод в файл, в противном случае используется стандартный вывод ( docs )

--jsonArray: генерирует действительный документ json вместо одного объекта json на строку ( docs )

--pretty: вывод в формате json ( документы )

100 голосов
/ 30 декабря 2014

Используйте mongoexport / mongoimport для выгрузки / восстановления коллекции:

Экспорт файла JSON :

mongoexport --db <database-name> --collection <collection-name> --out output.json

Импорт файла JSON :

mongoimport --db <database-name> --collection <collection-name> --file input.json

ВНИМАНИЕ! mongoimport и mongoexport не позволяют надежно сохранить все типы данных BSON с расширенными возможностями, поскольку JSON может представлять только подмножество типов, поддерживаемых BSON. В результате данные, экспортированные или импортированные с помощью этих инструментов, могут потерять некоторую степень точности.

Также http://bsonspec.org/

BSON разработан для быстрого кодирования и декодирования. Например, целые числа хранятся как 32 (или 64) битные целые, поэтому им не нужно быть проанализирован и из текста. Это использует больше места, чем JSON для маленьких целые числа, но намного быстрее разобрать.

В дополнение к компактности, BSON добавляет дополнительные типы данных недоступен в JSON, особенно в типах данных BinData и Date.

4 голосов
/ 09 декабря 2016

Вот моя команда для справки:

mongoexport --db AppDB --collection files --pretty --out output.json

В Windows 7 (MongoDB 3.4) необходимо переместить cmd в место, где находится файл mongod.exe и mongo.exe => C:\MongoDB\Server\3.4\bin иначе это не будет работать, говоря, что не распознает команду mongoexport.

3 голосов
/ 25 января 2012

Из документации Mongo:

Утилита mongoexport берет коллекцию и экспортирует ее в JSON или CSV.Вы можете указать фильтр для запроса или список полей для вывода

Подробнее здесь: http://www.mongodb.org/display/DOCS/mongoexport

0 голосов
/ 12 апреля 2017

Если вы хотите сбросить все коллекции, выполните эту команду:

mongodump -d {DB_NAME}   -o /tmp 

Она сгенерирует все данные коллекций в расширениях json и bson в каталог /tmp/{DB_NAME}

...