2

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

我已经尝试更新到最新版本的 MongoDB (4.0.10) 和 MongoDB Compass (1.18.0) 社区版,但没有解决方案。

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

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

4

1 回答 1

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/

于 2020-05-12T08:56:48.767 回答