我目前正在构建一个迷你应用程序,用户登录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很陌生,希望所提供的信息足够。
答案 0 :(得分:2)
你只需添加一个。
user.voted = false;
如果要访问客户端上的字段,请确保为其创建其他订阅频道。默认情况下,Meteor不会发布自定义用户属性。