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数据库黑白关联型、文档型数据库,将有关联的数据存储在一份文档中就可以削减举行表与表之间的关联查询
  • 本身先在网上找材料进修后,然后在进修慕课网上的视频时,就有很大的感想,现在的话照样有一些疑惑,关于数据的插进去我会找到更好的方法来完成

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

    原文作者:ZJW0215
    原文地址: https://segmentfault.com/a/1190000019374517
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞