jjzjj

javascript - meteor .js 1.0 : How do I return an _id outside of ObjectId using this. _id?

coder 2023-11-06 原文

我正在浏览网站上的简单教程 Meteortips.com了解 session 变量,但我无法检索对象 ID。

当我逐字逐句地按照说明操作时,我最终得到了这段代码:

Template.leaderboard.events({
    "click .player": function(){
      var playerId = this._id;
      Session.set("selectedPlayer", playerId);
      console.log(playerId)
    }
  })

当我登录 playerId 时,根据教程,我应该以以下形式获取 id:546d2e4e1c9a86a33e37005d,但是,我得到它的形式:

LocalCollection._ObjectID 
  {_str: "546d2e531c9a86a33e37005e", 
    toString: function, 
    equals: function, 
    clone: function, 
    typeName: function…}

然后我想尝试使用 toString(),最终在教程的后面部分进行等效测试(因此它解决了问题),但它仍然返回 ObjectID("546d2e461c9a86a33e37005c") 当我期待 id 时没有 ObjectID() 包裹它。

如何在没有所有额外内容的情况下获得 id

编辑

可能值得注意的是,我是在 Chromebook 上使用 Nitrous.io 完成所有这些操作的。我将 Nitrous.io 中的代码复制到 Meteorpad here并且它按预期工作。

在 Nitrous.io 中,我能够获得所需的 id 的唯一方法是使用 this._id._str 而不仅仅是 this。 _id。我仍然不知道为什么会这样……但事情就是这样。

最佳答案

如果您在直接向您的 Mongo 数据库插入项目时没有为 _id 提供值,它将使用特殊的 ObjectID对于 _id。如果您使用 Meteor Collection 插入一个项目,它将默认使用随机的 17 个字符串作为 _id。只需使用 Meteor 集合添加数据或在添加数据时手动将 _id 设置为随机的 17 个字符的字符串。

关于javascript - meteor .js 1.0 : How do I return an _id outside of ObjectId using this. _id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27030047/

有关javascript - meteor .js 1.0 : How do I return an _id outside of ObjectId using this. _id?的更多相关文章

随机推荐