表tblCard:

{"cNo":"11","oRDate":ISODate("2017-08-01T00:00:00.000+0800")}

{"cNo":"12","oRDate":ISODate("2017-07-01T00:00:00.000+0800")}

{"cNo":"13","oRDate":ISODate("2017-09-01T00:00:00.000+0800")}

表temp:

    "SIM" : "11"
}
    "SIM" : "12"
}
    "SIM" : "13"
}

需求:关联temp中SIM与tblCard中cNo,并输出SIM,oRDate

解决:

db.runCommand( { create: "viewORDate", viewOn: "temp", pipeline: [{ $lookup: { from: "tblCard", localField: "SIM", foreignField: "cNo",as:"vDoc" } },
   { $project: { "SIM": 1, "oRDate": "$vDoc.oRDate" } },{ $unwind : "$oRDate" }
  ] } )

其中: $lookup关联表、 $project过滤字段、$unwind循环取数组内容

db.viewORDate.find()的结果如下:

    "SIM" : "11",ISODate("2017-08-01T00:00:00.000+0800")
}
    "SIM" : "12",ISODate("2017-07-01T00:00:00.000+0800")
}
    "SIM" : "13",ISODate("2017-09-01T00:00:00.000+0800")
}

Mongo数据两表关联创建视图示例的更多相关文章

  1. Oracle-left join两表关联只取B表匹配到的第一条记录【over partition by(分组后对组内数据排序)】

    背景:  A表.B表两表关联,关联出来的结果里B表有不止一条,需求是只要B表结果中的某一条(按某字段排序) 经过百度,发现 row_number() over(partition by a order ...

  2. T-Sql(四)表关联和视图(view)

    今天讲下T-sql中用于查询的表关联和视图,我们平时做项目的时候会遇到一些复杂的查询操作,比如有班级表,学生表,现在要查询一个学生列表,要求把学生所属班级名称也查询出来,这时候简单的select查询就 ...

  3. oracle 两表关联查询

      oracle 两表关联查询 CreationTime--2018年7月4日17点27分 Author:Marydon 情景描述 查询学生表student,sname,sex,age信息及所在班级c ...

  4. Django——8 关系表的数据操作 表关联对象的访问 多表查询

    Django 关系表中的数据操作 表关联对象的访问 关联对象的add方法 create方法 remove方法 clear方法 多表查询 查询补充 聚合查询 分组查询 F查询 Q查询 关系表的数据操作 ...

  5. Oracle两表关联,只取B表的第一条记录

    背景:  A表.B表两表关联,关联出来的结果里B表有不止一条,需求是只要B表结果中的某一条(按某字段排序) 首先想到了直接写个带排序的子查询去匹配外围的值,从这个结果集中只要第一条,但是经过验证发现, ...

  6. MyBatis 中两表关联查询MYSQL (14)

    MyBatis 中两表关联查询MYSQL 1.创建数据库表语句 2.插入测试数据 3.pom文件内容 <?xml version="1.0" encoding="U ...

  7. Oracle中如何实现Mysql的两表关联update操作

    在看<MySQL 5.1参考手册>的时候,发现MySQL提供了一种两表关联update操作.原文如下: UPDATE items,month SET items.price=month.p ...

  8. ORACLE 两表关联更新三种方式

    不多说了,我们来做实验吧. 创建如下表数据 select * from t1 ; select * from t2; 现需求:参照T2表,修改T1表,修改条件为两表的fname列内容一致. 方式1,u ...

  9. KingbaseES 两表关联Update的两种写法与性能

    熟悉oracle 的人都知道,对于两表的关联更新,其执行计划主要有 Filter 和 Outer Join 两种方式.对于大批量数据的update,Join方式明显是更优的选择.KingbaseES ...

随机推荐

  1. page 页 分页 分段

    小结: 1. 页:磁盘和内存间传输数据的最小单位: MySQL: What is a page? https://stackoverflow.com/questions/4401910/mysql-w ...

  2. 8 queen暴力解决法

    很容易看出来,在每一行和每一列上有且只能有一个皇后,因此较为复杂的判断就是对角线了.维基百科的页面上有一个非常暴力但是写起来非常简单的解法: 1 2 3 4 5 6 7 8 from itertool ...

  3. iOS之分类(category)

    1.分类(category)的作用 1.1作用:可以在不修改原来类的基础上,为一个类扩展方法.1.2最主要的用法:给系统自带的类扩展方法. 2.分类中能写点啥? 2.1分类中只能添加“方法”,不能增加 ...

  4. [network] netfilter

    netfilter 是什么? netfilter.org is home to the software of the packet filtering framework inside the Li ...

  5. [development][dpdk][pktgen] 网卡收发包性能测试-详细数据

    三层包测试 发包方式:192.168.20.205 发包工具:pktgen 发包网卡:i350 收包设备:1922.168.20.185 CPU:Intel(R) Xeon(R) CPU E5-262 ...

  6. 内部排序->插入排序->其它插入排序->折半插入排序

    文字描述 和直接插入排序比较,只是把“查找”操作利用“折半查找”来实现,由此进行的插入排序叫做折半插入排序. 示意图 略 算法分析 和直接插入排序比,减少了比较次数,但是移动次数没有变,所以折半插入排 ...

  7. python之路(转载)

    Python之路   Python生产环境部署(fastcgi,uwsgi)   Django   缓存.队列(Memcached.redis.RabbitMQ)   Python(九) Python ...

  8. idea导出可执行jar包

    一. 在菜单中选择 File->project structure. 二. 在弹出的窗口中左侧选中"Artifacts",点击"+"选择jar,然后选择& ...

  9. 分布式任务队列Celery入门与进阶

    一.简介 Celery是由Python开发.简单.灵活.可靠的分布式任务队列,其本质是生产者消费者模型,生产者发送任务到消息队列,消费者负责处理任务.Celery侧重于实时操作,但对调度支持也很好,其 ...

  10. Python 字符串常用方法总结

    明确:对字符串的操作方法都不会改变原来字符串的值 1,去掉空格和特殊符号 name.strip()  去掉空格和换行符 name.strip('xx')  去掉某个字符串 name.lstrip()  ...