mongoose删除不工作[findByIdAndRemove]

时间:2015-07-27 09:22:08

标签: node.js mongodb mongoose

我尝试按ID删除对象,但收到错误" [TypeError:无法读取属性' $ set'未定义的]"什么可能是错的?

var remove = function(req, res, next) {

var id = req.urlParams.id ;

req.urlParams.model.findByIdAndRemove(id,function(err, doc){
console.log(err);
if (err) { return sendError(res,err) }

var data = JSON.stringify(req.body);
...
}

id已初始化,并且该id存在的对象

2 个答案:

答案 0 :(得分:2)

你在urlParams中寻找你的猫鼬模型似乎有点奇怪。我希望更像是

function remove(req, res, model, next){
    model.findByIdAndRemove(req.params.id, function(err)....
}

答案 1 :(得分:0)

我不知道您的整个代码,但是,如果您的目标是删除_id具有req.urlParams.id的对象,则以下代码可以帮助您。

var remove = function(req, res, next) {
yourModel.remove({_id: req.urlParams.id},function(err, doc){
console.log(err);

if (err) { return sendError(res,err) }
else{ //do something}
}

我有一个问题:console.log(req.urlParams.id)有效吗? 如果您可以输入代码详细信息,我可以为您提供更多帮助