内容简介:在做自己的项目时,因为刚开始接触mongodb非关系型数据库以及关系型数据库的影响还是留在脑中,总会想着进行一个连表查询,然后看官网和资料学习了下,还有那个查询时使用正则来匹配,在这里做个记录正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)
在做自己的项目时,因为刚开始接触 mongodb 非关系型数据库以及关系型数据库的影响还是留在脑中,总会想着进行一个连表查询,然后看官网和资料学习了下,还有那个查询时使用正则来匹配,在这里做个记录
1.mongodb正则匹配
/* 使用$regex字段匹配 */ name: {$regex: 'aa', $options: 'i'}; 或者: name: {$regex: /aa/, $options: 'i'}; 或者: name: {$regex: /aa/i}; /* 直接使用表达式 */ name: {/aa/i} /* 使用$in来匹配,这个字段必须是一个数组 */ name: {$in: [/aa/]}
2.连表查询
- 使用$lookup来进行连表查询
/* aggregate聚合操作,$unwind将数组拆分成单个元素 * $group 分组依据 * $sum 统计 * $project 将返回值进行筛选,是否返回筛选完后的某个字段 * $match 匹配条件 * */ usingRecord.aggregate([ { $lookup: { from: 'resources', /* 要连接的表名 */ localField: 'resource_id', /* 当前表对应的字段 */ foreignField: '_id', /* 要连接的表的字段 */ as: 'resourceInfo' /* 查询结果中显示的字段名 */ }, }, { $match: { 'user_id': user_id } }, { $unwind: '$resourceInfo' }, { $sort: { _id: -1 } } ])
3.小结
- mongodb数据库是非关系型、文档型数据库,将有关联的数据存储在一份文档中就能够减少进行表与表之间的关联查询
- 自己先在网上找资料学习后,然后在学习慕课网上的视频时,就有很大的感触,目前的话还是有一些迷惑,对于数据的插入我会找到更好的方法来实现
正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 4 万字全面掌握数据库、数据仓库、数据集市、数据湖、数据中台
- Python3爬虫数据入数据库---把爬取到的数据存到数据库,带数据库去重功能
- Oracle数据库查询重复数据及删除重复数据方法
- sqlserver数据库获取数据库信息
- 从大数据到数据库
- node连接oracle数据库,更新数据后,数据库中不生效问题
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。