所以我正在使用导出一些集合,mongoexport
并发现大整数9999999999999
被导出为的情况9.9999999999999e+13
所以有两个问题:为什么会这样,我该如何预防?
谢谢你。
所以我正在使用导出一些集合,mongoexport
并发现大整数9999999999999
被导出为的情况9.9999999999999e+13
所以有两个问题:为什么会这样,我该如何预防?
谢谢你。
MongoDB 默认将所有数字文字视为浮点数,超过某个阈值(32 位?)它在导出为 JSON 时切换为科学计数法。
对于转储数据,您可以使用命令行客户端和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