本を読んでMeteorを学んでいますが、現在ログインしているユーザーのことinsert()を知りたいです。userId
Template.categories.events({
    'keyup #add-category': function(e, t) {
        if(e.which == 13) {
          var catVal = String(e.target.value || "");
          if(catVal) {
            lists.insert({Category: catVal, owner: this.userId});
            console.log(this.userId);
            Session.set('adding_category',false);
          }
        }
    },
ただしthis.userId、定義されていないため、insert()期待どおりに機能しませんでした。これを機能させるために何が欠けていますか?
どういうわけか、以下のコードで機能します(userIdが定義されています):
lists.allow({
    insert: function(userId, doc) {
      return adminUser(userId);
    },
    update: function(userId, docs, fields, modifier) {
      return adminUser(userId);
    },
    remove: function(userId, docs) {
      return adminUser(userId);
    }
});
アップデート
サーバー側では機能するのにthis.userId機能しないのはMeteor.userId()なぜですか?
Meteor.publish("Categories", function() {
    return lists.find({owner:this.userId}, {fields:{Category:1}});
});