Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试删除Meteor中的文档时:“删除”;删除失败:内部服务器错误;_Javascript_Mongodb_Meteor - Fatal编程技术网

Javascript 尝试删除Meteor中的文档时:“删除”;删除失败:内部服务器错误;

Javascript 尝试删除Meteor中的文档时:“删除”;删除失败:内部服务器错误;,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我正试图通过ObjectId删除文档 Template.conferenceItem.events({ 'click #delete' : function () { Conferences.remove(this._id); } }); 在我的控制台中,我得到“删除失败:内部服务器错误”。如果在控制台中运行此命令,则会出现相同的错误:Conferences.remove('tfD9KQsFp8LoftHgS'),其中tfD9KQsFp8LoftHgS是现有的O

我正试图通过ObjectId删除文档

Template.conferenceItem.events({
    'click #delete' : function () {
        Conferences.remove(this._id);
    }
});
在我的控制台中,我得到“删除失败:内部服务器错误”。如果在控制台中运行此命令,则会出现相同的错误:
Conferences.remove('tfD9KQsFp8LoftHgS')
,其中
tfD9KQsFp8LoftHgS
是现有的ObjectId

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

我在conferences.js的collections文件夹中有以下代码:

Conferences = new Meteor.Collection('conferences');

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

这可能是流星误差。

集合。允许:允许用户根据您定义的限制,从客户端代码直接写入此集合

您必须授权不受信任的客户端代码,才能允许在服务器上删除代码中的某个位置

您可能希望在服务器代码中执行以下操作:


我相信您在与remove相关的函数中有一个输入错误。流星博士的例子

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

因此,将userID更改为userID

我有允许登录用户插入/更新/删除的代码;有关代码,请参见上面的“我的编辑”。我可以在登录时按预期插入/更新。您是否使用多个
#ID
?您是否尝试过
此.userId
?看见您的允许代码中是哪个
userId
?你仔细看了吗?在
allow
中,你有
userID
,但是你是基于
userID
返回的(注意d的区别)。检查一下,看看这是否解决了问题。