Node.js 在express js中使用mongoDB find()
我试图检查一个人是否已经申请了一份工作,因此我使用find()方法来获取带有我要传递的工作Id和用户Id的文档,但它总是发布数据,而不是检查这些数据是否已经存在 这是密码Node.js 在express js中使用mongoDB find(),node.js,mongodb,express,find,Node.js,Mongodb,Express,Find,我试图检查一个人是否已经申请了一份工作,因此我使用find()方法来获取带有我要传递的工作Id和用户Id的文档,但它总是发布数据,而不是检查这些数据是否已经存在 这是密码 router.post('/', async(req,res)=>{ const count = Apply.find({user:req.body.user, job:req.body.job}).count() if(count>0){ return res.status(400).
router.post('/', async(req,res)=>{
const count = Apply.find({user:req.body.user, job:req.body.job}).count()
if(count>0){
return res.status(400).send('already applied')
}
else{
let apply = new Apply({
job :req.body.job,
user :req.body.user
})
apply = await apply.save();
if(!apply)
return res.status(400).send('cannot apply')
res.send(apply);
}
})
每一个请求都会得到
POST /api/v1/applys/ 200 141 - 58.007 ms
我不太了解如何使用find(),因此无法在这里解决问题。因为您使用的是async/await add await before Apply.find
const count = await Apply.find({user:req.body.user, job:req.body.job}).count()
它成功了,谢谢你的欢迎,你也可以试着用create代替new,像这样保存const apply=wait apply.create({job:req.body.job,user:req.body.user})我会试试