Answers:
Mongo包含可转储集合的mongoexport实用程序(请参阅文档)。该实用程序使用本机libmongoclient,可能是最快的方法。
mongoexport -d <database> -c <collection_name>
也有帮助:
-o
:将输出写入文件,否则使用标准输出(docs)
--jsonArray
:生成一个有效的json文档,而不是每行一个json对象(docs)
--pretty
:输出格式化的json(docs)
--pretty
标志:mongoexport -d mydatabase -c mycollection --pretty
mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
--pretty
2.6.10版本开始似乎已经消失了。
使用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支持的类型的子集。结果,使用这些工具导出或导入的数据可能会失去某些保真度。
BSON旨在快速编码和解码。例如,整数存储为32(或64)位整数,因此不需要在文本之间进行解析。对于小整数,此方法比JSON使用更多的空间,但解析速度要快得多。
除了紧凑之外,BSON还添加了JSON中不可用的其他数据类型,特别是BinData和Date数据类型。
mongoexport
/ mongoimport
往返?
从Mongo文档中:
mongoexport实用程序进行收集并导出为JSON或CSV。您可以为查询指定过滤器,或要输出的字段列表
在此处了解更多信息:http : //www.mongodb.org/display/DOCS/mongoexport
如果要转储所有集合,请运行以下命令:
mongodump -d {DB_NAME} -o /tmp
它将在目录中生成所有集合数据json
并将其bson
扩展到/tmp/{DB_NAME}
目录中
mongodump
以BSON
格式输出数据。其他答案正确地称为mongoexport
正确的工具。
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
您可以指定host
,port
,username
,password
这样,默认认证数据库admin
。