方法中的集合更新

时间:2013-11-24 09:37:34

标签: mongodb meteor

我在一个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吗?

1 个答案:

答案 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;
    }
});