我尝试查找并删除项目。
这是我的代码,简单:
playlistItem.find( { $and: [ { songId : data.songId }, { userAdded : data.userAdded } , { playlistId : data.playlistId } ] } ).limit(1).lean().exec(function(err, item){
if (!item) {
callback(null,{message:"playlist item not found"})
}else{
// delete playlist item
item.remove(function(err) {
if (err){
callback( new Error('new error') );
}else{
callback(null,{message:"playlist successfully removed"})
}
});
}
})
我想首先找到我的项目,然后将其删除
当我运行此代码时,我收到此错误:
item.remove(function(err) {
^
TypeError: Object [object Object] has no method 'remove'
我想知道我哪里错了。
感谢您的帮助。
答案 0 :(得分:1)
我假设您要删除该对象。显然,该模型没有这种方法直接删除它。
由于您使用的是Mongoose,因此这是从数据库中删除对象的查询:
Model.remove({ id: X }, function (err) {
if (err) return handleError(err);
// removed!
});
所以,在你的情况下,我认为这样的事情应该有效:
PlayListItems.remove({ id: item.id }, function (err) {
if (err) return handleError(err);
// removed!
});