为什么我有时会将_id作为字符串获取,有时将_id作为ObjectID?

时间:2015-12-14 02:37:18

标签: javascript mongodb meteor

我有一个看起来像这样的模板:

<template name="drink">
  <button class="btn btn-block{{isActive _id}}" data-drink-id="{{_id}}" data-vote-for="{{voteFor}}">{{name}}</button>
</template>

我的助手/事件看起来像这样:

Template.drink.events({
    "click button": function(event) {
      event.preventDefault();
      Session.set(Session.get("activeChar"), $(event.target).data('drink-id'));
    }
  })

  Template.drink.helpers({
    isActive: function(id) {
      console.log("id: " + id);
      console.log("session: " + Session.get(Session.get("activeChar")));
      return (id == Session.get(Session.get("activeChar"))) ? " btn-positive" : "";
    },
    voteFor: function() {
      return Session.get("activeChar");
    }
  })

我的输出如下:

id: 5668f7dc4b44184781b57abc
session: ObjectID("5668e94f4b44184781b57abb")
id: 5668e94f4b44184781b57abb
session: ObjectID("5668e94f4b44184781b57abb")

为什么我在使用帮助器时获取字符串ID,并在直接引用变量时得到ObjectID:{{_id}}

1 个答案:

答案 0 :(得分:0)

ObjectID()可能是您通过mongo界面创建的文档,而不是Meteor中创建的文档。

相关问题