更新属性工作不正常Meteor/MongoDB

Updating attribute not working properly Meteor / MongoDB

本文关键字:MongoDB Meteor 不正常 属性 工作 更新      更新时间:2023-09-26

我正试图通过单击按钮来更新文档。然而,我不断收到一条"内部错误"的消息。我试图更新的文档被称为"已确认",它可以取true/false值。

这是我的methods.js:

Meteor.methods({
'confirmUser1': function(currUserId) {
    var currentUserId = currUserId;
    Meteor.users.update(currentUserId, {$set:
        {
            'confirmed': true
        }
    });
    console.log('user verified!');
}
});

这是我的模板事件助手:

Template.Users.events({
'click .confirmUser': function(e, tmpl) {
    e.preventDefault();
    var currentUserId = this._id;
    Meteor.call('confirmUser1', currentUserId, function(error) {
        if (error) {
            alert(error.reason);
        } else {
            console.log('success!');
            Router.go('Admin');
        }
    });
}
});

我的按钮:

<p><button class="confirmUser">Confirm User</button></p>

注意:我在不同的更新按钮/方法中使用了与此非常相似的代码,效果很好。。。所以我不确定这里发生了什么。

尝试使用Meteor.userId();,事件处理程序中的上下文与在Template.helper 中使用的上下文截然不同

如果你做console.log(currentUserId),你应该得到未定义。

所以改变这个

var currentUserId = this._id;

对此。

var currentUserId = Meteor.userId();