我试图从我的前端点击所有帖子,所以req.body.numberOfClick
是包含点击次数的值&他的ObjectID:req.body._id
app.post('/allPostClicked', function (req, res){
console.log("ID : "+req.body._id, ", Number of click : "+req.body.numberOfClick);
});
我成功地取得了一些成果:
...
ID : 63b0996c5fac5d36a035bfe1 , Number of click : 23
ID : 63b0996c5fac5d36a035bfe1 , Number of click : 24
ID : 63a98cefd003d6794bb12858 , Number of click : 1
ID : 63b0996c5fac5d36a035bfe1 , Number of click : 25
ID : 63b0996c5fac5d36a035bfe1 , Number of click : 26
现在,我需要将其存储在Mongo数据库中,因此我希望使用_id
查找哪个字段,以便将新值放置在他的getNumberOfClick字段中
app.post('/allPostClicked', function (req, res){
console.log("ID : "+req.body._id, ", Number of click : "+req.body.numberOfClick);
try{
const filter = { _id: req.body._id };
const update = { getNumberOfClick: req.body.numberOfClick };
Post.findOneAndUpdate( filter, update )
}catch{
res.status(404).send({error: "Post is not find !"})
}
res.end("yes");
});
不幸的是,我没有任何更新本专栏
1条答案
按热度按时间14ifxucb1#
当你查询数据库时,你必须使用async/await来“等待”结果,或者使用回调函数,例如使用async/await:
如果在试图查找之前已经在数据库中存储了一些数据,则可以添加一个插入选项。如果要在找不到文档时插入文档,也可以添加一个插入选项,如下所示
但在这种情况下,你不会得到错误消息document not found,因为它会创建一个文档,所以这取决于你。更多细节,你可以查看他们的文档:https://mongoosejs.com/docs/api.html#model_Model-findOneAndUpdate