当前位置: 首页 > 知识库问答 >
问题:

错误,而使用deleteOne在app.delete函数在Node.js

康文昌
2023-03-14

**尝试使用app.delete并尝试使用删除一从mondo db删除文档...它不断抛出错误。如何解决这个错误?** ``` 需要('dotenv'). config()const Express=要求('Express')const app=Express()const PORT=process.env.PORT||5001 const ConnectDB=要求('./config/db')const errorHandler=要求('./middleware/error')const Products=需要('。/模型/产品')const cors=需要('cors')

    // Connect DB
    connectDB()
    
    
    // Middleware
    app.use(cors())
    app.use(express.json())
    app.use('/auth', require('./routes/authRoutes'))
    app.use('/admin', require('./routes/adminRoutes'))
    app.use('/customer', require('./routes/customerRoutes'))
    app.use('/staff', require('./routes/staffMemberRoutes'))
    // error handler - should be *last* piece of middleware
    app.use(errorHandler)
    
    
    app.get('/all-products', (req, res) => {
      Product.find({}, (error, posts) => {
        if(error) {
          res.json({error: 'Unable to fetch products!'}) 
        } else {
          res.json(posts)
        }
      })
    })
    
    
    
    app.post ('/add-products',(req,res) =>{
      console.log("add-products has been fired")
      const imageurl = req.body.imageurl 
      const title = req.body.title
      const description = req.body.description 
      const rate = req.body.rate 
      const category = req.body.category 
      const subcategory = req.body.subcategory 
    
      let product  = new Product({
        imageurl: imageurl,
        title: title,
        description: description,
        rate: rate,
        category: category,
        subcategory: subcategory,
      })
    
    
      product.save((error) => {
        if(error) {
          res.json({error: 'Unable to save the product!'})
        } else {
          res.json({success: true, message: 'New product Saved'})
        }
      })
    
    })
    
    
    
    app.delete('/product/:productId', (req, res) => {
    
      const productId = req.params.productId 
    
      Product.deleteOne({
        _id: productId
      }, (error, result) => {
        if(error) {
          res.json({error: 'Unable to delete product'})
        } else {
          res.json({success: true, message: 'Product deleted successfully!'})
        }
      })
    
    })
    
    
    
    app.put('/update-product/:productId', (req, res) => {
    
      const productId = req.params.productId 
      const imageurl = req.body.imageurl 
      const title = req.body.title
      const description = req.body.description 
      const rate = req.body.rate 
      const category = req.body.category 
      const subcategory = req.body.subcategory 
    
      const updatedProduct = {
        imageurl: imageurl,
        title: title,
        description: description,
        rate: rate,
        category: category,
        subcategory: subcategory,
      }
    
      Product.findByIdAndUpdate(productId, updatedProduct, (error, result) => {
          if(error) {
              res.json({error: 'Unable to updated the Product'})
          } else {
              res.json({success: true, message: 'Product updated successfully!'})
          }
      })
    
    })
    
    
    const server = app.listen(PORT, () => {
      console.log(`Server running on port ${PORT}`)
    })
    
    // makes giant server errors concise and simple to read
    process.on('unhandledRejection', (err, promise) => {
      console.log(`Logged Error: ${err}`)
      server.close(() => process.exit(1))
    })```

共有1个答案

令狐宏浚
2023-03-14
if(error) {
      res.json({error: 'Unable to delete product'})
    }

在这一行中,将res.json替换为:

res.json({error})

然后在此处注释输出(控制台上的错误消息)

 类似资料:
  • 我正在尝试运行下面的程序,在该程序中,我使用一个名为Reserve的函数动态地为变量分配内存。当我运行应用程序时,由于在一个单独的函数中为一个空指针分配内存,我会得到分段错误,但是如果我想在主函数中分配内存,我不会得到这个错误。那我做错了什么? 代码如下:

  • 我在mvc5中使用API2控制器,实现CRUD操作。在POST方法中,我有一个if语句,当if语句结果为false时返回BadRequest()。 这是IF语句我需要显示字符串错误消息 if(allowanceDto.MinValue) 这是ajax调用: 我的问题是,当IF语句为false时,如何使用ajax显示BadRequest的字符串错误。

  • 我在使用g-12时遇到了一个错误,它在clang-13中没有出现。特别是,这段代码: 使用clang编译,但使用g会产生错误: 奇怪的是,如果我删除了对解调器的constexpr要求,那么这个例子编译和运行时就不会出错。 你知道这里发生了什么吗?

  • 我为调度作业创建了以下抽象: 我利用工厂创造就业机会: 示例实现: 这是作业排队的方式: 因为ForgetPasswordJobs没有无参数构造函数,所以我得到一个CS0310错误,它说 为了将其用作泛型类型或方法JobCreator中的参数参数,类型“忘记密码作业”必须是具有公共无参数构造函数的非抽象类型 如何在IJob的实现中使用依赖关系?

  • 这段代码有错误 问题是,我使用了'await'而没有将方法声明为'async',但是node.js给我的错误非常不清楚,根本没有帮助我弄清楚它。 我能做些什么来让类似这样的错误在将来变得更清楚吗?

  • 问题内容: 我尝试制作隐藏的FirefoxDriver。根据我的研究,我必须使用PhantomJSDriver,但是当我使用PhantomJSDriver driver.FindElement语句不再起作用。 错误信息: An unhandled exception of type ‘OpenQA.Selenium.NoSuchElementException’ occurred in WebDr