簡體   English   中英

從客戶端更新Meteor.users

[英]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文檔:

默認情況下,當前用戶的usernameemailsprofile將發布到客戶端。

這意味着您可以更新任何這些用戶屬性,但是如果要添加其他用戶屬性,則最好將它們添加到這些現有字段之一中。 我建議在個人資料屬性中添加“ firstName”之類的內容。 在這種情況下,您的代碼將如下所示:

Meteor.users.update({_id: Meteor.userId()}, {$set: {'profile.firstName': post.firstName}});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM