我有一个连接到Atlas数据库的mongo客户端,并且正在使用findOne
查询来获取文档,并且正在获取其INT64值为BSON LONG类型的文档。当尝试使用toNumber
函数获取它的原始值时,im会得到一个接近的数字,但不是准确的数字,这对我来说是非常糟糕的。
我该怎么做才能获得原始的准确值?
client.db(DATABASE_NAME).collection(SERVERS_COLLECTION).findOne({},{id: server_id});
server_id是一个整数。
示例: 308567034344767488变为308567034344767500
答案 0 :(得分:0)
不知道它是否适用于您的情况,但是我通过将字段存储为字符串在MongoDB中解决了类似的问题(我的ORM始终转换为BSON LONG类型)。
由于您的ID似乎是您的ID,因此我建议您也阅读this discussion并相应地修改您的设计。