常用的mongoose操作(增删改查)增–create let message = {}; Model.create(message, (err, result) => {callback}); 或者 let docs = await Model.create(message); // 结合async await使用添加多条数据–insertMany let message = []; Model.insertMany(message, (err, docs) =>{callback}); 或者 let docs = await Model.insertMany(message); // 结合async await使用删-remove 通过条件删除 let message = {name: “张三”};//删除条件 Model.remove(message, (err, result) => {callback}); 或者 let docs = await Model.remove(message); // 结合async await使用 通过id删除 let id = _id // 数据中的_id Model.findByIdAndRemove(id, (err, result) => {callback}); 或者 let docs = await Model.findByIdAndRemove(id); // 结合async await使用改-update 通过条件修改 let conditions = {name: “张三”, age: 22};//修改条件 let message = {name: “张三啊啊”, age: 33}; // 修改内容 Model.findOneAndUpdate(conditions, message, {new, true}, (err, result) => {callback}) 或者 let docs = await Model.updateOneAndUpdate(conditions, message); // 结合async await使用 通过id修改 let id = _id // 数据中的_id let message = {name: “张三啊啊”, age: 33}; // 修改内容 Model.updateByIdAndUpdate(id, message, {new, true}, (err, result) => {callback}) 或者 let docs = await Model.updateByIdAndUpdate(id, message); // 结合async await使用查–find 通过条件查询 let conditions = {name: “张三”, age: 22};//查询条件 查询多条 // 查询不到返回为一个空数组,不会报错 Model.find(conditions, (err, result) => {callback}) 或者 let docs = await Model.find(conditions); // 结合async await使用 查询一条 Model.findOne(conditions, (err, result) => {callback}) 或者 let docs = await Model.findOne(conditions); // 结合async await使用 通过id查询 let id = _id // 数据中的_id Model.findById(id, (err, result) => {callback}) 或者 let docs = await Model.findById(id); // 结合async await使用Tips:update更新数据,默认返回为更新前的数据,需要第三个参数增加{new: true}find查询数据,没有数据返回的是一个空数组,需判断数组的lengthfind查询返回数组,findOne和findById返回的是对象复杂条件查询· 正则表达式 – $regexlet reg = new RegExp();Model.find({$regex: reg}, “$options”:“i”); // “$options”:“i” 控制大小写· 比较运算符 $equals 等于 / $gt 大于 / $gte 大于等于 / $lt 小于 / $lte 小于等于 / $ne 不等于 · 元素是否存在 – $exists Model.find({id: {$exists: true});· 逻辑运算符 $or 或 / $and 与 / $nor 非· 其他查询条件.limit()查询条数 .sort()查询排序 // -1为倒叙 .count()数量.skip()跳过前几个查询结果