如何将 MongoDB 存档文件转换为 JSON 格式?

How to convert MongoDB archive file to JSON format?

如果我像这样转储数据库:

mongodump --archive=out.mdb

有什么方法可以将 out.mdb 转换为平面 JSON 文件吗?如果是这样,如何? (例如,如果我只想恢复单个文档)

mongo导出

相信唯一的方法是从数据库,使用mongoexport:

mongoexport --db yourdb -c yourCollection --out yourCollection.json

来自 mongo

的警告

请注意以下内容(来自他们的website):

WARNING

Avoid using mongoimport and mongoexport for full instance production backups. They do not reliably preserve all rich BSON data types, because JSON can only represent a subset of the types supported by BSON. Use mongodump and mongorestore as described in MongoDB Backup Methods for this kind of functionality.

导出命令:

mongoexport --db <dbname> --collection <collectionname> --out collection.json

导出后,如果有BSON数据,我们可以按照下面的方法

官方 MongoDB Java 驱动程序附带 实用方法,用于将 JSON 解析为 BSON 并将 BSON 序列化为 JSON

import com.mongodb.DBObject;
import com.mongodb.util.JSON;
DBObject dbObj = ... ;
String json = JSON.serialize( dbObj );
DBObject bson = ( DBObject ) JSON.parse( json );

可以在这里找到驱动程序:https://mongodb.github.io/mongo-java-driver/

这样一来,我们拿去,就可以轻松转换了。