鍍金池/ 問答/數據庫  HTML/ mongoose操作優(yōu)化

mongoose操作優(yōu)化

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({  //再次執(zhí)行更新操作 版本號+1
                        id : query.id
                    },{
                        version : data.version++
                    },function(err,data){
                        ocrModels.find({  //查詢修改后的數據 返回給前端
                            id : query.id
                        },function(err,data){
                            res.status(200).send(data)
                        })
                        
                    })
                })
            })
            
        })
        
    }
})

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

回答
編輯回答
裸橙

async/await

2018年5月29日 10:28
編輯回答
糖果果

建議花三五天時間學一學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:'發(fā)布成功'})
    })
2018年8月16日 09:14