5

所以我正在使用导出一些集合,mongoexport并发现大整数9999999999999被导出为的情况9.9999999999999e+13

所以有两个问题:为什么会这样,我该如何预防?

谢谢你。

4

2 回答 2

3

MongoDB 默认将所有数字文字视为浮点数,超过某个阈值(32 位?)它在导出为 JSON 时切换为科学计数法。

于 2016-06-22T08:14:30.263 回答
0

对于转储数据,您可以使用命令行客户端和jq--eval命令的选项。这并没有以科学计数法给出数据。 mongo

例如

mongo --quiet localhost:5010/user  --username alok --password alok --authenticationDatabase admin --eval 'db.users.find({}, {_id: 1, username:1, name: 1}).limit(10).toArray().map(JSON.stringify).join("\n")' | while read item; do echo $(echo $item | jq ._id),$(echo $item | jq .username),$(echo $item | jq .name); done > data.csv
于 2020-01-08T12:49:51.203 回答