如何向Meteor.users集合添加其他字段(不在“配置文件”字段中)

时间:2013-08-29 05:02:45

标签: facebook meteor

我目前正在构建一个迷你应用程序,用户登录Facebook进行活动。无法确定将有多少人登录,因此,mongoDB将在用户(客户端)登录时更新。但是,我正在尝试在Meteor的用户集合中插入一个额外的布尔字段,我不知道该如何进行这样做。这是我在帐户中添加的accounts.js代码(服务器端)

Accounts.onCreateUser(function (options, user) {
  if (options.profile) {
    //want the users facebook pic and it is not provided by the facebook.service
    options.profile.picture = "http://graph.facebook.com/" + user.services.facebook.id + "/picture/?type=large";
    data = user.services.facebook;
    user.profile = options.profile;
    user.profile.voted = false;
  }
    return user;
});

目前,我正在为配置文件字段分配布尔字段(“已投票”)。但我似乎无法从客户端js更新此布尔值。我在这里得到的代码如下所示

Template.skills.events({
    'click input.inc': function () {
    Skills.update(Session.get("selected_skill"), {$inc: {mana: 1}});
    //Meteor.users.update({_id:Meteor.default_connection.userId()},{$set:{profile.name:true}});
    alert(Meteor.user().profile.name);
    }
});

仅供参考:skills.events仅仅是一个单击按钮时触发的把手(Handlebars.js)。这里的尝试是在单击按钮时更新MongoDB。

我对Meteor很陌生,希望所提供的信息足够。

1 个答案:

答案 0 :(得分:2)

你只需添加一个。

user.voted = false;

如果要访问客户端上的字段,请确保为其创建其他订阅频道。默认情况下,Meteor不会发布自定义用户属性。