Javascript MongoDB返回错误的行

Javascript MongoDB返回错误的行,javascript,mongodb,Javascript,Mongodb,我使用int64s作为主键,当我查询一些时,它返回一行,其中一个不同的int64作为主键 当我询问: { _id: NumberLong("76561198346292536") } 或 似乎要发送的查询是: { _id: 76561198346292540 } 并且返回的行的主键为76561198346292544 我使用int64s作为用户ID,因此这一基本查询工作非常重要 我在Go中看到过这种情况,但在MongoDB Compass中也发生过同样的情况: 我认为这可能是因为JS没有

我使用int64s作为主键,当我查询一些时,它返回一行,其中一个不同的int64作为主键

当我询问:

{
 _id: NumberLong("76561198346292536")
}

似乎要发送的查询是:

{
 _id: 76561198346292540
}
并且返回的行的主键为
76561198346292544

我使用int64s作为用户ID,因此这一基本查询工作非常重要

我在Go中看到过这种情况,但在MongoDB Compass中也发生过同样的情况:

我认为这可能是因为JS没有int64,所以它变成了float64,并且由于十进制需要一些位,所以会丢失一些精度。如果这是正确的,有办法处理吗

谢谢


谢谢。

FYI这在任何JS环境中都是可复制的。只需在浏览器中打开控制台并尝试
让foo=76561198346292536
您将看到它设置为
76561198346292540
{
 _id: 76561198346292540
}