无法从 mongoDB 中删除数据

Posted

技术标签:

【中文标题】无法从 mongoDB 中删除数据【英文标题】:Unable to delete data from 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);
    
  );
);

【问题讨论】:

你发送什么请求? 【参考方案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

以上是关于无法从 mongoDB 中删除数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从 mongodb 获取的对象中删除键? [复制]

如何从 mongodb 获取的对象中删除键? [复制]

无法使用休眠 OGM 从 mongoDB 中删除元素

无法通过 Express 路由从 Mongodb 中删除文档

如何使用 iOS 应用程序从 mongoDB 数据库中获取/发布/更新/删除数据?

如何从命令行删除 MongoDB 数据库?