将Mongo Collection转储为JSON格式

Par*_*ade 107 json dump mongodb

有没有办法将mongo集合转储为json格式?在shell上或使用java驱动程序.我正在寻找性能最佳的.

小智 157

Mongo包含一个可以转储集合的mongoexport实用程序(请参阅docs).此实用程序使用本机libmongoclient,可能是最快的方法.

mongoexport -d <database> -c <collection_name>
Run Code Online (Sandbox Code Playgroud)

也有帮助:

-o:将输出写入文件,否则使用标准输出(docs)

--jsonArray:生成一个有效的json文档,而不是每行一个json对象(docs)

--pretty:输出格式化json(docs)

  • 使用-d标志指定要使用的数据库. (8认同)
  • 如果你想要漂亮的印刷JSON(例如在开发过程中检查一个集合),请使用`--pretty`标志:`mongoexport -d mydatabase -c mycollection --pretty` (8认同)
  • 如果蒙戈位于不同的主机上,这里是从蒙戈文档`mongoexport --host mongodb1.example.net --port 37017 --username用户为例--password"通行证" --collection接触--db营销 - 输出mdb1-examplenet.json` (4认同)

Pri*_*han 105

使用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数据类型.


nig*_*ury 5

这是我的命令供参考:

mongoexport --db AppDB --collection files --pretty --out output.json
Run Code Online (Sandbox Code Playgroud)

在Windows 7(MongoDB的3.4),一个具有对CMD移动到的地方mongod.exemongo.exe文件所在=> C:\MongoDB\Server\3.4\bin否则它不会工作,说这不确实recongnize mongoexport命令。