Javascript MongoDB返回错误的行
我使用int64s作为主键,当我查询一些时,它返回一行,其中一个不同的int64作为主键 当我询问:Javascript MongoDB返回错误的行,javascript,mongodb,Javascript,Mongodb,我使用int64s作为主键,当我查询一些时,它返回一行,其中一个不同的int64作为主键 当我询问: { _id: NumberLong("76561198346292536") } 或 似乎要发送的查询是: { _id: 76561198346292540 } 并且返回的行的主键为76561198346292544 我使用int64s作为用户ID,因此这一基本查询工作非常重要 我在Go中看到过这种情况,但在MongoDB Compass中也发生过同样的情况: 我认为这可能是因为JS没有
{
_id: NumberLong("76561198346292536")
}
或
似乎要发送的查询是:
{
_id: 76561198346292540
}
并且返回的行的主键为76561198346292544
我使用int64s作为用户ID,因此这一基本查询工作非常重要
我在Go中看到过这种情况,但在MongoDB Compass中也发生过同样的情况:
我认为这可能是因为JS没有int64,所以它变成了float64,并且由于十进制需要一些位,所以会丢失一些精度。如果这是正确的,有办法处理吗
谢谢
谢谢。FYI这在任何JS环境中都是可复制的。只需在浏览器中打开控制台并尝试
让foo=76561198346292536
您将看到它设置为76561198346292540
。
{
_id: 76561198346292540
}