无法从mongoDB中删除数据

时间:2017-09-13 15:49:54

标签: node.js mongodb express

我使用POSTMAN删除使用id的联系人,然后返回
{
   "n": 0,
   "ok": 1
}

这是我目前的删除代码

router.delete('/contact/:id', (req, res, next) => {
  contact.remove({ _id: new objectId(req.params._id) }, function(err, result) {
    if (err) {
      res.json(err);
    } else {
      res.json(result);
    }
  });
});

2 个答案:

答案 0 :(得分:0)

您需要将_id值作为ObjectID传递,而不是字符串:

var mongodb = require('mongodb');
    router.delete('/contact/:id', (req, res, next) => {
      contact.deleteOne({ _id: new mongodb.ObjectID(req.params._id) }, function(err, result) {
        if (err) {
          res.json(err);
        } else {
          res.json(result);
        }
      });
    });

答案 1 :(得分:0)

id !== _id

将您的路线中的:id更改为:_id,您应该没问题。