【问题标题】:Unable to delete data from mongoDB无法从 mongoDB 中删除数据
【发布时间】:2018-02-22 10:08:03
【问题描述】:
我使用 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);
    }
  });
});

【问题讨论】:

  • 你发送什么请求?

标签: node.js mongodb express


【解决方案1】:

id !== _id

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

【讨论】:

    【解决方案2】:

    您需要将 _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);
            }
          });
        });
    

    【讨论】:

    • 您的回答并不能解决问题。问题是 OP 没有提供或提供不正确的_id
    猜你喜欢
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    • 2010-09-08
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多