Node.js 重复的mongodb对象参数,但只显示一个?最后的数字是四舍五入的吗?

Node.js 重复的mongodb对象参数,但只显示一个?最后的数字是四舍五入的吗?,node.js,mongodb,mongoose,passport.js,steam,Node.js,Mongodb,Mongoose,Passport.js,Steam,因此,我的db出现了一些奇怪的现象。当我登录后注意到我的余额不再是以前的余额时,我就开始这样做了。然后我发现两个明显不同的帐户有相同的号码。无论如何。我正在使用passport,策略是steam。以下是我的两个编码问题: 第一个奇怪之处: *当使用steam作为策略时,我会返回一个具有steam id的用户 { steamid: '76561198053118469', communityvisibilitystate: 3, profilestate: 1, personaname

因此,我的db出现了一些奇怪的现象。当我登录后注意到我的余额不再是以前的余额时,我就开始这样做了。然后我发现两个明显不同的帐户有相同的号码。无论如何。我正在使用passport,策略是steam。以下是我的两个编码问题:

第一个奇怪之处: *当使用steam作为策略时,我会返回一个具有steam id的用户

{ steamid: '76561198053118469',
  communityvisibilitystate: 3,
  profilestate: 1,
  personaname: 'What Comes Around™',
  commentpermission: 1,
  profileurl: 'https://steamcommunity.com/id/WCAOfficial/',
  avatar:
   'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/99/99f12061912d535322c9a23ee7d17ce341c27c56.jpg',
  avatarmedium:
   'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/99/99f12061912d535322c9a23ee7d17ce341c27c56_medium.jpg',
  avatarfull:
   'https://steamcdn-a.akamaihd.net/steamcommunity/public/images/avatars/99/99f12061912d535322c9a23ee7d17ce341c27c56_full.jpg',
  lastlogoff: 1587637203,
  personastate: 1,
  primaryclanid: '103582791466140922',
  timecreated: 1321956195,
  personastateflags: 0 }
这是返回的req.user。如您所见,user.streamid是:76561198053118469

以下是我的数据库中的“当前用户”集合:

[ { balance: 100,
    _id: 5e9a43519eabc40017ed6a85,
    userid: 76561198053118460,
    profileurl: 'https://steamcommunity.com/id/WCAOfficial/',
    __v: 0 },
  { balance: 0,
    _id: 5ea22ae86407a43c389210bd,
    userid: 76561198053118460,
    profileurl: 'https://steamcommunity.com/id/WCAOfficial/',
    __v: 0 } ]
所以我不明白的第一件事是,为什么蒸汽id的最后一个数字是四舍五入的。现在我没有在这里包括一个实际的用户,但是我的一个用户的id以69结尾,出于某种原因,它被四舍五入到80。我一生都无法理解这一点

下一期,好的,那么忘掉第一期吧。好吧,在这条线的某个地方,值会被舍入或是其他什么。好的所以如果我使用find({userid:76561198053118460}),我应该用两个不同的余额返回两个用户,对吗?哦,不,我不明白。我取而代之的是我登录的那个,余额为0的那个。这老实说,这让我很困惑。这怎么可能对我来说没有意义

所以我有两个问题。我想以一个免责声明来结束这个问题。我和猫鼬玩了一段时间,现在我认为自己是初学者。所以我真的希望这是一个问题,答案是非常明显的,但如果是的话,很抱歉这个noob问题


谢谢

如果打开您最喜欢的浏览器控制台并在其中键入
76561198053118469
,您将返回
76561198053118460
。这是因为
76561198053118469
被解释(在javascript中),因此存储不准确


确保在任何地方操作用户ID时都使用字符串,并将ID存储为字符串,而不是数字。

非常感谢。看起来这是一个noob问题XD,但嘿,我们都从某个地方开始。我肯定会记住这个错误:)。