我在将自定义用户字段添加到 Meteor 用户对象 ( Meteor.user
) 时遇到问题。我希望用户有一个“状态”字段,我不想将它嵌套在“配置文件”(即 profile.status)下,我知道默认情况下它是 r/w。(我已经删除了autopublish
。)
我已经能够通过
Meteor.publish("directory", function () {
return Meteor.users.find({}, {fields: {username: 1, status: 1}});
});
...但我无法获得允许登录用户更新自己的status
.
如果我做
Meteor.users.allow({
update: function (userId) {
return true;
}});
在Models.js,
一个用户中可以编辑每个用户的所有字段。这不酷。
我试过做变种,比如
Meteor.users.allow({
update: function (userId) {
return userId === Meteor.userId();
}});
和
Meteor.users.allow({
update: function (userId) {
return userId === this.userId();
}});
他们只是在控制台中让我访问拒绝错误。
文档在某种程度上解决了这个问题,但没有详细说明。我犯了什么愚蠢的错误?
(这类似于此SO question,但该问题仅涉及如何发布字段,而不是如何更新它们。)