2

我目前正在构建一个迷你应用程序,该应用程序将用户登录到 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 很陌生,希望提供的信息足够。

4

1 回答 1

2

你只要加一个。

user.voted = false;

如果您想在客户端访问该字段,请确保为其创建额外的订阅通道。Meteor 默认不发布自定义用户属性。

于 2013-08-29T05:53:22.210 回答