应该可以用聚合操作,或使用$not 操作,这里使用的是先取出真值然后再次更改,需要两次数据库操作
collection.find({_id:ObjectID(_id)}).toArray((err,result)=>{ if(err){ res.send({err:1,msg:"没找到数据",data:err}) console.log(err) mgdb.close() }else{ console.log(result[0]) collection.updateOne({_id:ObjectID(_id)},{$set:{"isadd":!result[0].isadd}},(err,reply)=>{ if(err) { console.log(err) res.send({err:1,msg:"更新失败",data:err}) mgdb.close() }else{ res.send({err:0,msg:"操作成功",data:reply}) mgdb.close() } }) }