Aggregate的 $lookup 和 $match ,可用于MangoDB的联表

直接上代码

两个表介绍

services表

number: 服务号码

flow: 流程名称

flows表

name: 流程名称

config: 流程配置

services表 和 flows 表,通过flow和name关联。

联表查询

想实现查询services表时,关联查询出引用的flow的详细配置,方便前台展示

用的aggrgete的Pipeline参数如下

[

{

'$lookup': {

'from': 'flows',

'localField': 'flow',

'foreignField': 'name',

'as': 'flow_detail'

}

}

]

带上过滤

想实现查询services表的指定service,关联查询出引用的flow的详细配置,方便前台展示

用的aggrgete的Pipeline参数如下

[

{

'$lookup': {

'from': 'flows',

'localField': 'flow',

'foreignField': 'name',

'as': 'flow_content'

}

}, {

'$match': {

'number': '6666'

}

}

]

基于egg-mongo-native编码

最后基于上述pipeline参数实现编码如下

let args = {

pipeline: [

{

'$lookup': {

'from': 'flows',

'localField': 'flow',

'foreignField': 'name',

'as': 'flow_content'

}

}, {

'$match': {

'number': '6666'

}

}

]

}

const result = await this.app.mongo.get('database').aggregate('services', args)

console.log(result)

php mongodb的lookup,通过Aggregate $lookup操作 进行MongoDB的联表查询相关推荐

  1. MongoDB联表查询aggregate : $lookup

    参考:MongoDB联表查询 建表插入数据: db.createCollection("user") db.user.insertMany([{_id: ObjectId(&quo ...

  2. mongodb $lookup 联表查询

    collection  orders :      orders   record example collection  items :items record example $lookup 联表 ...

  3. 微信小程序 lookup 联表查询

    微信小程序 云开发 store 商品集合 _id: 'a8831daa5fef02f50153146e5902c2aa', openid: 'oMlDj5JiYiwxyBJm-d4JFY-Ov-LM' ...

  4. mongodb联表查询

    数据库表 表一: 数据记录表 var mongoose = require('mongoose'),Schema = mongoose.Schema;var DocViewSchema = new S ...

  5. 《MySQL》入门基础知识点大全:数据库操作、增删改查、联表查询、常用函数、MD5加密、事务特性、隔离级别

    MySQL基础知识大全 1.操作数据库 1.1 创建表 1.2 修改表名 1.3 增加表的字段 1.4 修改表的字段 1.4.1 修改表的字段 1.4.2 修改表名 1.5 删除表的字段 1.6 删除 ...

  6. cmd操作MySQL 范式、单表查询(日记 day 3)

    今天记录一下设计范式,还有一些简单的查询操作 先来了解一下范式: 范式是分等级的,越高级的范式限制越多,而且,每条范式总是满足它前面的那些低等级范式 第一范式: 每一列都是不可分割的原子数据项 就比如 ...

  7. oracle数据库查询需步骤,PLSQL操作Oracle数据库之单表查询SQL语句 看完你就知道了...

    Orcale数据库作为商业级的大型关系型数据库管理系统,以其较高的安全性和强大的可移植性赢得了市场的广泛认可,而PLSQL作为操作Oracle的编程语言的最佳选择,掌握其编程原理及基本的sql操作是掌 ...

  8. 微信小程序云开发云数据库_聚合操作_联表查询_对象数组某字段与另一集合的某字段相等匹配

    目录 表结构 需求 Aggregate.unwind 查询操作代码 查询结果 表结构 错题表 wrong 单选题表 single 需求 连接错题表和单选题表,筛选出错题的题目ID.题目.答案.解析.用 ...

  9. MongoDB聚合(aggregate)常用操作及示例

    简介 MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果. 有点类似 SQL 语句中的 count(*). 常用操作 表达式 描述 $mat ...

最新文章

  1. java添加窗体_添加的窗体
  2. leetcode算法题--Letter Case Permutation
  3. 深度操作系统 15 Beta——每一处都在“靓”变
  4. 互联网金融产品需要什么样的产品经理?
  5. netcore 编译 html,Asp.Net Core中的@ Html.Action
  6. 北京大学 软件工程1 软件 软件工程 软件开发 软件工程框架
  7. 菜鸟学Linux 第026篇笔记 LVM
  8. pyqt5 界面切换
  9. 监狱干警定位管理系统
  10. office使用latex公式
  11. 计算机创客教育,浅析职业教育中计算机学科的创客教育
  12. 三个网络接口计算机主板,电脑主板接口安装详解
  13. 学习笔记(01):程序员的数学:微积分-常用导数(一):最常用到的技巧
  14. 三次握手与四次挥手的爱恨情仇
  15. Mysql组合索引使用和用法
  16. Windows XP免密码自动登录
  17. mysql数据源配置
  18. nodejs中的读取文件fs与文件路径path
  19. 金多多看盘新周期还在路上
  20. 局域网传输工具需求分析

热门文章

  1. 「技术人生」第9篇:如何设定业务目标
  2. 夺冠丨夜枭算法拿下CVPR夜景渲染双冠军
  3. 中国危废处理行业十四五需求预测及投资商机研究报告2021-2027年
  4. MyBatis更新语句返回值
  5. OpenHarmony之Ubuntu22.04执行hb set报错
  6. OKHTTP缓存max-age和max-stale详解
  7. GPT分区下安装Windows7 x64 完整教程
  8. 英特尔oneAPI创新大使招募
  9. 3dmax如何拆分模型_3dmax组合的模型怎么分开
  10. iframe嵌套页面中的跳转