试图在Meteor中删除文档时:“删除失败:内部服务器错误”

When attempting to remove a document in Meteor: "Remove failed: Internal server error"

本文关键字:删除 删除失败 失败 内部 错误 服务器 Meteor 文档      更新时间:2023-09-26

我试图通过objecd删除一个文档。

Template.conferenceItem.events({
    'click #delete' : function () {
        Conferences.remove(this._id);
    }
});

在我的控制台上,我得到"删除失败:内部服务器错误"。如果我在控制台中运行这个,我得到同样的错误:Conferences.remove('tfD9KQsFp8LoftHgS'),其中tfD9KQsFp8LoftHgS是一个现有的ObjectId。

编辑:

我有以下代码在我的集合文件夹在会议。js:

Conferences = new Meteor.Collection('conferences');
Conferences.allow({
  remove: function(userID, doc){
    // only allow remove if you are logged in
    return !! userId;
  }
});

这可能是Meteor allow错误。

收藏。allow:允许用户从客户端代码直接写入此集合,但受您定义的限制。

你必须授权你的不受信任的客户端代码允许删除服务器上的某个地方在你的代码?

你可能想在你的服务器代码中做这样的事情:
Conferences.allow({
  remove: function (userId, doc) {
  // check for proper permissions using passed arguments if any here
  return true;
}
});

我相信你在与remove相关的函数中有一个错别字。流星文档示例

remove: function (userId, doc) {
    // can only remove your own documents
    return doc.owner === userId; 
}

将userID改为userID