具有不需要的元数据的MongoDB罗盘导出集合

时间:2019-06-10 19:18:43

标签: json mongodb mongodb-query mongodb-compass

使用MongoDB Compass(与查询无关)将集合导出到JSON时,输出现在包含元数据($ oid,$ numberInt,$ numberDouble)。在过去的几周中,我已经导出了几个集合,没有问题,但是现在每个导出都包含元数据,这会影响在外部软件中解析JSON的方式。

我尝试将最新版本的MongoDB(4.0.10)和MongoDB Compass(1.18.0)都更新为Community Edition,但没有解决方法。

预期输出:{“ _id”:“ unique_id”},“ transaction_id”:“ 1059833”},“ transaction_amount”:“ 2000”}}

实际输出:{“ _id”:{“ $ oid”:“ unique_id”},“ transaction_id”:{“ $ numberInt”:“ 1059833”},“ transaction_amount”:{“ $ numberInt”:“ 2000” }}

1 个答案:

答案 0 :(得分:0)

如果使用mongo-java-driver,请尝试以下代码:

Use new JsonWriterSettings(JsonMode.SHELL).

Document doc = new Document("startDate", new Document("$gt", first).append("$lt", second)); 
System.out.println(doc.toJson(new JsonWriterSettings(JsonMode.SHELL))); 

页面上的更多详细信息: https://mongodb.github.io/mongo-java-driver/3.7/bson/extended-json/