我正在尝试使用 api 调用获取产品数量,但在邮递员中它不断加载
router.get(`/get/count`, async (req, res) => {
const productCount = await Product.countDocuments((count)=>count)
if (!productCount) {
res.status(500).json({ success: false });
}
res.send({
productCount: productCount
});
});
(node:28030) UnhandledPromiseRejectionWarning: MongooseError: Query was already executed: Product.countDocuments({})
Run Code Online (Sandbox Code Playgroud)
没有 async 和 wait 也不起作用
我尝试捕获错误,但在邮递员中收到此错误
{
"success": false,
"error": "Query was already executed: Product.countDocuments({})"
}
Run Code Online (Sandbox Code Playgroud)
捕获错误的代码:
router.get(`/get/count`, (req, res) => {
Product.countDocuments((count)=>count).then((pcount)=>{
if(pcount){
return res.status(200).json({success:true})
}else{
return res.status(404).json({success:false})
}
}).catch((err)=>{
return res.status(400).json({success:false, error:err.message})
})
});
Run Code Online (Sandbox Code Playgroud)