资讯专栏INFORMATION COLUMN

mongodb数据库之连表查询

qianfeng / 1441人阅读

摘要:在做自己的项目时,因为刚开始接触非关系型数据库以及关系型数据库的影响还是留在脑中,总会想着进行一个连表查询,然后看官网和资料学习了下,还有那个查询时使用正则来匹配,在这里做个记录正则匹配使用字段匹配或者或者直接使用表达式使用来匹配,这个字段

在做自己的项目时,因为刚开始接触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数据库是非关系型、文档型数据库,将有关联的数据存储在一份文档中就能够减少进行表与表之间的关联查询

自己先在网上找资料学习后,然后在学习慕课网上的视频时,就有很大的感触,目前的话还是有一些迷惑,对于数据的插入我会找到更好的方法来实现

正在努力学习中,若对你的学习有帮助,留下你的印记呗(点个赞咯^_^)

往期好文推荐:

使用vue开发移动端管理后台

实现单行及多行文字超出后加省略号

node之本地服务器图片上传

纯css实现瀑布流(multi-column多列及flex布局)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19543.html

相关文章

  • mongodb据库连表查询

    摘要:在做自己的项目时,因为刚开始接触非关系型数据库以及关系型数据库的影响还是留在脑中,总会想着进行一个连表查询,然后看官网和资料学习了下,还有那个查询时使用正则来匹配,在这里做个记录正则匹配使用字段匹配或者或者直接使用表达式使用来匹配,这个字段 在做自己的项目时,因为刚开始接触mongodb非关系型数据库以及关系型数据库的影响还是留在脑中,总会想着进行一个连表查询,然后看官网和资料学习了下...

    tracymac7 评论0 收藏0
  • TiDB 助力卡思数据视频大数据业务创新

    摘要:选择在经历了痛苦的传统解决方案的折磨以及大量调研及对比后,卡思数据最终选择了作为数据仓库及业务数据库。上线卡思数据目前配置了两个的三个的四个的。卡思数据部署了数据库监控系统来实时监控服务状态,可以非常清晰的查看服务器问题。 作者:刘广信,火星文化技术经理 卡思数据是国内领先的视频全网数据开放平台,依托领先的数据挖掘与分析能力,为视频内容创作者在节目创作和用户运营方面提供数据支持,为广告...

    RdouTyping 评论0 收藏0
  • TiDB 助力卡思数据视频大数据业务创新

    摘要:选择在经历了痛苦的传统解决方案的折磨以及大量调研及对比后,卡思数据最终选择了作为数据仓库及业务数据库。上线卡思数据目前配置了两个的三个的四个的。卡思数据部署了数据库监控系统来实时监控服务状态,可以非常清晰的查看服务器问题。 作者:刘广信,火星文化技术经理 卡思数据是国内领先的视频全网数据开放平台,依托领先的数据挖掘与分析能力,为视频内容创作者在节目创作和用户运营方面提供数据支持,为广告...

    genefy 评论0 收藏0

发表评论

0条评论

qianfeng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<