谈MongoDB Shell下的长整型截断问题

本文探讨了在MongoDB Shell中遇到的长整型数值被截断的问题,指出即使使用NumberLong类型,依然存在精度损失。原因是JavaScript中所有数字默认为double类型,导致大数字在传递给NumberLong函数前被四舍五入。解决方案是通过引用字符串传递给NumberLong以避免精度损失。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文:Long Numbers Are Truncated in MongoDB Shell
作者: Gian Maria Ricci
译者: 孙思
责编:孙思,关注数据库领域,寻求报道或者投稿请发邮件sunsi@youkuaiyun.com,另有「优快云 高级数据库技术群」,内有诸多知名互联网公司的大牛,欢迎加微信sunlovesi申请入群,备注姓名+公司+职位。

MongoDB Shell下的长整型问题是MongoDB臭名昭著的缺点。在这短暂的阅读中,Gian Maria Ricci(Linkedin)将解释他是如何解决这一问题的。

在Mongo shell中简单的代码:

db.TestCollection.insert({
  
  "_id" : 1, "Value" : NumberLong(636002954392732556) })
db.TestCollection
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值