前言
在做自己的项目时,因为刚开始接触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数据库是非关系型、文档型数据库,将有关联的数据存储在一份文档中就能够减少进行表与表之间的关联查询
自己先在网上找资料学习后,然后在学习慕课网上的视频时,就有很大的感触,目前的话还是有一些迷惑,对于数据的插入我会找到更好的方法来实现
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:- 详解MongoDB数据库基础操作及实例
- 老生常谈MongoDB数据库基础操作
- MongoDB数据库插入、更新和删除操作详解
- PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例
- mongodb 数据库操作详解--创建,切换,删除
- mongodb 数据库操作--备份 还原 导出 导入
- MongoDB数据库文档操作方法(必看篇)
- MongoDB模糊查询操作案例详解(类关系型数据库的 like 和 not like)
- mongoDB4.0数据库的操作方法
- mongodb数据库入门学习笔记之下载、安装、启动、连接操作解析
- MongoDB数据库安装配置、基本操作实例详解
- MongoDB数据库基础操作总结