博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mongoose项目随笔
阅读量:5059 次
发布时间:2019-06-12

本文共 2575 字,大约阅读时间需要 8 分钟。

常用的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查询数据,没有数据返回的是一个空数组,需判断数组的`length`        find查询返回数组,findOne和findById返回的是对象

复杂条件查询

· 正则表达式 -- $regex

例如:              let 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()跳过前几个查询结果

---恢复内容结束---

## 常用的mongoose操作(增删改查)

转载于:https://www.cnblogs.com/lx9408/p/10334190.html

你可能感兴趣的文章
Monkey测试结果分析
查看>>
Sublime Text 3 设置
查看>>
浅谈C++底层机制
查看>>
STL——配接器、常用算法使用
查看>>
第9课 uart
查看>>
Range和xrange的区别
查看>>
BZOJ 1010 [HNOI2008]玩具装箱 (斜率优化DP)
查看>>
java-动态规划算法学习笔记
查看>>
STL容器之vector
查看>>
Linux 内核中断内幕
查看>>
DNS负载均衡
查看>>
无法向会话状态服务器发出会话状态请求
查看>>
数据中心虚拟化技术
查看>>
Oracle OEM 配置报错: No value was set for the parameter DBCONTROL_HTTP_PORT 解决方法
查看>>
01入门
查看>>
python正则表达式
查看>>
嵌套循环连接(nested loops join)原理
查看>>
shell统计特征数量
查看>>
复习文件操作
查看>>
C#Hashtable与Dictionary性能
查看>>