Mongoose FindByid删除获取状态404

Mongoose FindByid删除获取状态404,mongoose,Mongoose,我正试图使用_id删除一条记录,但是我从邮递员那里得到了404状态。这里哪里出了问题 router.delete('/sale/delete/:id', function(req, res) { Sale.findByIdAndRemove({ _id: req.params.id }, function(err, respRaw) { if (err) { console.

我正试图使用_id删除一条记录,但是我从邮递员那里得到了404状态。这里哪里出了问题

router.delete('/sale/delete/:id', function(req, res) {

    Sale.findByIdAndRemove({
            _id: req.params.id
        },
        function(err, respRaw) {
            if (err) {
                console.log(err)
            }
            res.status(204).json(respRaw)
        })
});

我通过使用

Sale.findByIdAndRemove(id, options, function(err, respRaw) {}

添加以下内容作为作者回答的补充:

findbyiandremove()
findOneAndRemove()
相混淆,即其参数


:

参数

  • 要查询的_id的id«Object | Number | String»值
  • [选项]«对象»可选
  • [options.strict]«Boolean | String»覆盖模式的严格模式选项
  • [回调]«函数»
返回:

  • «查询»
通过文档的_id字段发出mongodb find和modify remove命令

findbyiandremove(id,…)
相当于
findOneAndRemove({u id:id},…)

查找匹配的文档,将其删除,并将找到的文档(如果有)传递给回调

如果传递了回调,则执行查询


:

参数

  • 条件«对象»
  • [选项]«对象»可选
  • [options.strict]«Boolean | String»覆盖模式的严格模式选项
  • [回调]«函数»
返回:

  • «查询»
发出mongodb findanddomify remove命令

查找匹配的文档,将其删除,并将找到的文档(如果有)传递给回调


如果通过回调,则执行查询。

是否可以在映像或请求URI中共享请求?使用
if(err){console.log(err);return;}…
if(err){console.log(err)}else{res.status(204).json(respRaw)}
我想我为您找到了它:从
'sale/delete/:id'
修改为
'/api/sale/delete/:id'
。让我知道它是否有效。api/sale实际上是正确的,我有app.get('/api',cors(),(req,res,next)=>{在我的主要js脚本中很高兴听到这一点。所以基本上你把
findbyiandremove()
findOneAndRemove()混淆了
,对吗?您也遗漏了
选项
参数?但它是可选的。为什么最后会有括号?请您将这些添加到您的答案中,使其更清楚。不管怎样,我都会这样做。谢谢!我试图在示例中解释,但它认为您的答案非常简单complete@mark5我为我们感到高兴。你的问题是正确的,而且是国际性的我也是。我也学到了很多。你是我的得票人。