我目前正在构建一个迷你应用程序,它允许用户登录 Facebook 参加事件。无法确定有多少人将登录,因此,mongoDB 将在用户(客户端)登录时更新。但是,我试图在 Meteor 的用户集合中插入一个额外的 bool 字段,但我不知道如何进行这样做。这是我在用户中添加的 account.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;
});
目前,我正在将 bool 字段(“投票”)分配给个人资料字段。但我似乎无法从客户端 js 更新这个 bool 值。我在这里得到的代码如下所示
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 只是一个在单击按钮时触发的 handle (Handlebars.js)。这里的尝试是在单击按钮时更新 MongoDB。
我对 Meteor 还很陌生,希望提供的信息足够。
最佳答案
您只需添加一个即可。
user.voted = false;
如果您想在客户端访问该字段,请确保为其创建额外的订阅 channel 。 Meteor 默认情况下不发布自定义用户属性。
关于facebook - 如何向 Meteor.users 集合添加附加字段(不在 Profile 字段内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18502636/