mongodb中怎么实现连表查询

今天就跟大家聊聊有关MongoDB中怎么实现连表查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

创新互联,为您提供重庆网站建设成都网站制作、网站营销推广、网站开发设计,对服务成都PE包装袋等多个行业拥有丰富的网站建设及推广经验。创新互联网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!

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中怎么实现连表查询
新闻来源:http://scyanting.com/article/poecho.html