如何将 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/
这样一来,我们拿去,就可以轻松转换了。
如果我像这样转储数据库:
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/
这样一来,我们拿去,就可以轻松转换了。