Javascript 从客户端更新Meteor.users
我有一个表单试图更新meteor.users,其中包含关于使用以下帮助程序的用户的额外信息Javascript 从客户端更新Meteor.users,javascript,meteor,Javascript,Meteor,我有一个表单试图更新meteor.users,其中包含关于使用以下帮助程序的用户的额外信息 Template.Profile.events({ 'submit form': function(e) { e.preventDefault(); var post = { firstName: $(e.target).find('[name=firstname]').val() }; Meteor.users.update( { _id: M
Template.Profile.events({
'submit form': function(e) {
e.preventDefault();
var post = {
firstName: $(e.target).find('[name=firstname]').val()
};
Meteor.users.update( { _id: Meteor.userId() }, { $set: { 'firstName': post.firstName }} );
}
});
但是,我获取更新失败:访问被拒绝
另一个问题是,我想知道我是否应该直接对Meteor.users集合进行额外的更新,还是应该有一个单独的集合来存储这些数据
谢谢由于您正试图直接在基本用户对象上设置属性,因此收到“拒绝访问”错误。根据Meteor的文件: 默认情况下,当前用户的
用户名
,电子邮件
,以及配置文件
是
发布到客户端
这意味着您可以更新这些用户属性中的任何一个,但是如果您想添加其他属性,最好将它们添加到这些已经存在的字段中。我建议在profile属性中添加类似“firstName”的内容。在本例中,您的代码如下所示:
Meteor.users.update({_id: Meteor.userId()}, {$set: {'profile.firstName': post.firstName}});
由于您正试图直接在基本用户对象上设置属性,因此收到“拒绝访问”错误。根据Meteor的文件: 默认情况下,当前用户的
用户名
,电子邮件
,以及配置文件
是
发布到客户端
这意味着您可以更新这些用户属性中的任何一个,但是如果您想添加其他属性,最好将它们添加到这些已经存在的字段中。我建议在profile属性中添加类似“firstName”的内容。在本例中,您的代码如下所示:
Meteor.users.update({_id: Meteor.userId()}, {$set: {'profile.firstName': post.firstName}});
由于您正试图直接在基本用户对象上设置属性,因此收到“拒绝访问”错误。根据Meteor的文件: 默认情况下,当前用户的
用户名
,电子邮件
,以及配置文件
是
发布到客户端
这意味着您可以更新这些用户属性中的任何一个,但是如果您想添加其他属性,最好将它们添加到这些已经存在的字段中。我建议在profile属性中添加类似“firstName”的内容。在本例中,您的代码如下所示:
Meteor.users.update({_id: Meteor.userId()}, {$set: {'profile.firstName': post.firstName}});
由于您正试图直接在基本用户对象上设置属性,因此收到“拒绝访问”错误。根据Meteor的文件: 默认情况下,当前用户的
用户名
,电子邮件
,以及配置文件
是
发布到客户端
这意味着您可以更新这些用户属性中的任何一个,但是如果您想添加其他属性,最好将它们添加到这些已经存在的字段中。我建议在profile属性中添加类似“firstName”的内容。在本例中,您的代码如下所示:
Meteor.users.update({_id: Meteor.userId()}, {$set: {'profile.firstName': post.firstName}});