Mongoose删除错误对象没有删除方法

时间:2015-11-17 18:22:21

标签: javascript node.js mongoose

我尝试查找并删除项目。

这是我的代码,简单:

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'

我想知道我哪里错了。

感谢您的帮助。

1 个答案:

答案 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!
});