我在一个Method中有两个集合更新调用,它们似乎根本没有运行。
Meteor.users.update({ _id: Meteor.user()._id }, { $push: { 'stars.teamStars': team.name } });
Teams.update({ _id: team._id }, { $inc: { stars: 1 } });
当我尝试在控制台中运行Teams
更新时,它可以正常工作。
虽然,当我尝试在控制台中运行users
更新时,我会收到update failed: Access denied
。
我很困惑,因为我在我的应用程序的其他部分有非常类似的更新调用,并且运行完美。
编辑:
我的Meteor.methods应该位于/server
吗?
答案 0 :(得分:0)
检查您的代码是否为Meteor.users.allow
规则。您已使用(insecure
)删除了meteor remove insecure
包。这意味着你必须明确地给meteor一个允许规则,例如:
Meteor.users.allow({
update: function (userId, doc, fields, modifier) {
// can only change your own documents
return doc.owner === userId;
}
});