Дамп коллекции Mongo в формате JSON


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

3 87

3 ответа:

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

mongoexport -d <database> -c <collection_name>

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

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

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

--pretty: вывод отформатирован json ( docs)

используйте 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 типы.

из документации Монго:

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

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