首页 > 数据库 > MongoDB > 正文

聊聊mongodb的连表查询和mongodb正则匹配

2024-09-07 00:22:33
字体:
来源:转载
供稿:网友
        这篇文章给大家分享的是有关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
   }
  }
 ])

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表