mongodb操作之使用javaScript实现多表关联查询

一、数据控制

  mongodb操作数据量控制,千万控制好,不要因为操作的数据量过多而导致失败。

  演示一下发生此类错误的错误提示:

二、多表关联查询实现

/*
声明变量bridge,用来记录两个集合所连接的桥梁。
相当于sql语句中的Join on语句,on后边跟的条件。
有了桥梁以后,再进行关联那就是易如反掌的事情啦。
关联桥梁所存储的数据是什么样的类型就需要根据你自己的需求来进行创建了。
我这里用一个对象来作为桥梁,然后调用对象中的属性。
*/
var bridge = db.info.findOne();
/*

javaScript语言是弱类型的语言,对于返回值是什么样的类型一定要做到心中有数。
在执行db.info.findOne()语句后,这里的返回值可以理解为一个对象,类似于一个javaBean
而在这里存储的所有的字段以及字段值(我用sql语句的说法更易理解)相当于对象的属性。

*/

print(bridge.userid)
/*
使用print语句可以打印出上面语句返回的对象信息,进一步验证返回值是否如我们的猜测。
在这里userid这个字段本来是集合中的一个文档名称,即理解为一个表中的字段名称。
这里却相当于一个对象的属性。
*/

//循环用什么都可以,只要能够控制住次数,千万不要因为数据量太大而导致操作失败。
for(info = db.info.findOne({"userid":bridge.userid}),
        //以上这句代码就是用来匹配集合中符合条件的,可以是任意mongodb的查询语句
        //只要语句满足你的需求就可以,可以灵活变换。
    error = db.warning.findOne({"userid":bridge.userid}),
        //上边的这条语句同上
    i = 0;i<1;i++){//这里就是控制循环次数的啦。
    print(info,error);
        //打印出我们匹配后的结果。
        //关联查询如此简单。
}

我的查询结果:

  

logtype其实就是我的集合名称。

综上:其实就两个点。

  1、明确桥梁

  2、控制循环,如果数据量小的话就不用控制了,我的数据量太多了。

不管你有多少表,我相信只要掌握住此思路,一定可以轻松的写出多表关联代码,轻松实现多表关联。

时间: 2024-10-26 11:07:39

mongodb操作之使用javaScript实现多表关联查询的相关文章

RDIFramework.NET 中多表关联查询分页实例

RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为指导思想,作为异质系统整合与互操作性.分布式应用提供了可行的解决方案. 分页非常的常见,基本任何项目都会涉及到分页,这没什么好谈的,大多数我们分页对单表的分页比较多,对多表的分页我们可以通过视图来实现,当然还有其他的方式,在这儿,我以一个实例展示下使用我们的RDIFramework.NET来实现多表

Yii2中多表关联查询(join、joinwith) with是不执行sql的

Yii2中多表关联查询(join.joinwith) 我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer (id customer_name) 订单表Order (id order_name customer_id book_id) 图书表 (id book_name author_id) 作者表 (id author_name) 模型定义 下面是这4个个模型的定义,只写出其中的关联 Customer class Customer extends \

oracle02--多表关联查询

1. 多表(关联)查询 多表查询也称之为关联查询.多表关联查询等,主要是指通过多个表的关联来获取数据的一种方式. 1.1. 多表映射关系 一对多:A表的一行数据,对应B表中的多条.如:一个部门可以对应多个员工. 多对一:B表中的多条对应A表的一行数据.如:多个员工对应一个部门. 多对多:学生和选修课表----学生和课程对应表. 一对一:人员基本信息和人员信息扩展表. 1.2. 笛卡尔集 笛卡尔集对于我们数据库的数据查询结果的影响: 1. 数据冗余.---笛卡尔集并不是我们所需要的数据. 2. 效

Yii2中多表关联查询(join、joinwith)

我们用实例来说明这一部分 表结构 现在有客户表.订单表.图书表.作者表, 客户表Customer   (id  customer_name) 订单表Order          (id  order_name       customer_id   book_id) 图书表                    (id  book_name       author_id) 作者表                    (id  author_name) 模型定义 下面是这4个个模型的定义,只写

Hibernate-多表关联查询结果的处理方法

Hibernate多表查询结果处理 (2014-07-06 20:45:40) 转载▼ 标签: hibernate 多表查询 结果集处理 分类: Java 如果我们在Hibernate中需要查询多个表的不同字段,那么如何来获取Hibernate多表查询的结果呢?有两种方式: 1. 对各个字段分别转化成对应类型,如下: Java代码: Query q = session.createQuery(" select members, classInfo.className " + "

MySQL多表关联查询与存储过程

1.多表关联查询 --  **************关联查询(多表查询)**************** -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 1.1 交叉连接查询(不推荐.产生笛卡尔乘积现象:4 * 4=16,有些是重复记录) SELECT empName,deptName FROM employee,dept; -- 需求:查询员工及其所在部门(显示员工姓名,部门名称) -- 多表查询规则:1)确定查询哪些表   2)确定查询哪些字段   3)表与表之间连接条件

图解SQL多表关联查询

图解SQL多表关联查询 网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习  内连接 左连接 右连接 全外连接

mark---[mysql多表关联查询的优化方法]

对于一个网站来说,数据库的结构至关重要.即要利于存储(入库不阻塞),又要利于查询(查询不锁表).网站数据库优化经验是一个积累的过程.下面就对多表关联查询的优化方法,举例说明. 现在社区分享类网站很火,就拿方维购物分享网站举例说明吧.也是对二次开发方维购物分享网站的一点总结,高手可以飞过. 购物分享的关键表有:分享表.图片表.文件表.评论表.标签表.分类表等. 围绕分享的表就么多,哇,那也不少啊.当我们查看一个图片的详细信息时,就要显示以上表里的信息.显示图片所属的分类.给图片打的标签.图片的评论

SQL两表关联查询&批量修改字段值

SQL关联查询&修改字段,正确范例如下: --批量修改报告单位名称&更新时间 --tt和tp两表关联查询,将符合条件的tt表中的principal字段更新到tp表的ruperson字段 merge into nhis34.t_publicplaces tp using standard.t_organization tt on (tt.orgcode = tp.r_orgcode and tp.create_time > '2015-05-07 00:00:00') when mat