mongoose操作优化

发布于 2022-09-06 04:06:32 字数 1075 浏览 11 评论 0

api.post("/ocr_modify",function(req,res){
    var query = req.body;
    if(query.id){
        ocrModels.find({id : query.id},function(err,data){  //查询是否有次文章
            ocrModels.update({  //更新文章主要内容
                id : query.id
            },{
                content : query.content,
            },function(err,data){
                ocrModels.find({id : query.id},function(err,data){  //更新完成后查询版本号
                    console.log(data.version)
                    ocrModels.update({  //再次执行更新操作 版本号+1
                        id : query.id
                    },{
                        version : data.version++
                    },function(err,data){
                        ocrModels.find({  //查询修改后的数据 返回给前端
                            id : query.id
                        },function(err,data){
                            res.status(200).send(data)
                        })
                        
                    })
                })
            })
            
        })
        
    }
})

修改文章并更新版本号操作 感觉嵌套太多 不知流程是否走偏了?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

陌上青苔 2022-09-13 04:06:32

建议花三五天时间学一学mongodb的操作。这个操作(查询+修改文章+版本号自加1)可以一条命令完成。
下面是随手百度来的。可以参考一下。这是一个自加的例子,可以$inc的同时在$set来更新content字段等。
categoryModel.findOneAndUpdate({name:{$in:req.body.categorys}},{$inc:{total:1}},function(err){

      if (err) return console.log(err);
      res.json({status:'ok',msg:'发布成功'})
    })
抽个烟儿 2022-09-13 04:06:32

async/await

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文