[英]Updating Meteor.users from client
我有一個試圖通過以下幫助程序使用有關用戶的額外信息來更新meteor.users的表單
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.users的Meteor文檔:
默認情況下,當前用戶的
username
,emails
和profile
將發布到客戶端。
這意味着您可以更新任何這些用戶屬性,但是如果要添加其他用戶屬性,則最好將它們添加到這些現有字段之一中。 我建議在個人資料屬性中添加“ firstName”之類的內容。 在這種情況下,您的代碼將如下所示:
Meteor.users.update({_id: Meteor.userId()}, {$set: {'profile.firstName': post.firstName}});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.