Дамп коллекции Mongo в формате JSON
есть ли способ сбросить коллекцию mongo в формат json? Либо в оболочке, либо с помощью драйвера java.Я ищу тот, с лучшей производительностью.
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