将Mongo Collection转储为JSON格式

时间:2012-01-24 17:28:14

标签: json mongodb dump

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

5 个答案:

答案 0 :(得分:144)

Mongo包含一个可以转储集合的mongoexport实用程序(see docs)。该实用程序使用本机libmongoclient,可能是最快的方法。

mongoexport -d <database> -c <collection_name>

也很有帮助:

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

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

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

答案 1 :(得分:96)

使用mongoexport / mongoimport转储/恢复集合:

导出JSON文件

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

导入JSON文件

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

  

警告   mongoimportmongoexport不能可靠地保留所有丰富的BSON数据类型,因为JSON只能表示BSON支持的类型的子集。因此,使用这些工具导出或导入的数据可能会失去一定程度的保真度。

此外,http://bsonspec.org/

  

BSON旨在快速编码和解码。例如,   整数存储为32(或64)位整数,因此它们不需要   被解析为文本。对于小型,这比JSON使用更多空间   整数,但解析速度要快得多。

     

除紧凑性外,BSON还增加了其他数据类型   在JSON中不可用,特别是BinData和Date数据类型。

答案 2 :(得分:4)

这是我的命令供参考:

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

在Windows 7(MongoDB 3.4)上,必须将cmd移动到mongod.exemongo.exe文件所在的位置=&gt; C:\MongoDB\Server\3.4\bin否则说它不会重新mongoexport命令就行不通。

答案 3 :(得分:3)

来自Mongo文档:

  

mongoexport实用程序获取集合并导出为JSON或CSV。您可以为查询指定过滤器,或者输出要输出的字段列表

在此处阅读更多内容:http://www.mongodb.org/display/DOCS/mongoexport

答案 4 :(得分:0)

如果要转储所有集合,请运行以下命令:

mongodump -d {DB_NAME}   -o /tmp 

它会将jsonbson扩展中的所有馆藏数据生成到/tmp/{DB_NAME}目录