mongoose MongoDB在使用deleteOne时无法使用delete方法

3qpi33ja  于 5个月前  发布在  Go
关注(0)|答案(2)|浏览(80)

我正在使用node和mongoose来构建我的第一个API Restful,但是我在使用“Delete”方法时遇到了一些问题。

async function remove(req, res) {
    const { id } = req.params
  
    const remove = await ProductsModel.deleteOne({ _id: id })
    
    const message = remove.ok ? 'success' : 'error'
  
    res.send({
      message,
    })
  }

module.exports = {
    remove
}

字符串
路线是正确的

router.delete('/products/:id', ProductController.remove)


Postman 的React总是错误,我已经尝试了不同的ID的,但不会工作。
我尝试了不同的ID,并搜索deleteOne方法指南,但找不到错误

7xzttuei

7xzttuei1#

我正在查看我的代码,发现它正在删除,但“如果”是问题所在。

yvgpqqbh

yvgpqqbh2#

如果您试图删除的文档的ID存在,但仍未找到或删除,则可以尝试将ID字符串转换为ObjectId:

const mongoose = require('mongoose');    
const objectId = new mongoose.Types.ObjectId(id);
const remove = await ProductsModel.deleteOne({ _id: objectId })

字符串

相关问题