使用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” }}
答案 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/