前言
在做自己的项目时,因为刚开始接触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数据库是非关系型、文档型数据库,将有关联的数据存储在一份文档中就能够减少进行表与表之间的关联查询
自己先在网上找资料学习后,然后在学习慕课网上的视频时,就有很大的感触,目前的话还是有一些迷惑,对于数据的插入我会找到更好的方法来实现
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“mongodb数据库基础知识之连表查询”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。