Javascript 尝试删除Meteor中的文档时:“删除”;删除失败:内部服务器错误;
我正试图通过ObjectId删除文档Javascript 尝试删除Meteor中的文档时:“删除”;删除失败:内部服务器错误;,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我正试图通过ObjectId删除文档 Template.conferenceItem.events({ 'click #delete' : function () { Conferences.remove(this._id); } }); 在我的控制台中,我得到“删除失败:内部服务器错误”。如果在控制台中运行此命令,则会出现相同的错误:Conferences.remove('tfD9KQsFp8LoftHgS'),其中tfD9KQsFp8LoftHgS是现有的O
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的区别)。检查一下,看看这是否解决了问题。