我已经创建了一个表单供用户更新其个人资料。提交表单时,出现[403]错误。Not permitted. Untrusted code may only update documents by ID.
我的问题是,如果我要使用Meteor.users.allow
,请在哪里-在哪个文件/目录中编写此代码?
谢谢,
内森
最佳答案
您收到的错误不是您的允许/拒绝规则的结果。如果是这样,您将直接得到“访问被拒绝”错误。
在更新用户(以及正确的allow
规则)时,您需要通过用户的_id
更新用户-尤其是在客户端上进行更新时。
所以代替
Meteor.users.update({name: "etc"}, {$set:..});
您需要将其分为两部分,一类是获取
_id
的内容,另一类是用于更新文档的形式。var user = Meteor.users.findOne({name: 'etc'});
Meteor.users.update({_id: user._id}, {$set:..});
规则是在客户端上,更新时只能使用
_id
查找文档。
关于meteor - 更新Meteor.users,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19027893/