`
datamachine
  • 浏览: 157253 次
社区版块
存档分类
最新评论

MongoDB的连接运算

    博客分类:
  • DB
阅读更多

        来源:http://stackoverflow.com/questions/29396985/is-there-a-where-like-relation-function-when-using-pymongo

       Mongodb没有直接提供连接运算,硬编码实现有一定难度。这种情况下可以用集算器来实现多个collection的内连接、左连接、全连接、子文档连接,下面用例子来说明。

       Collection categories和rules在逻辑上是主子关系,关联字段是cat,需要进行左连接运算,取出categories的title、regex、cat字段,以及rules中相关的path字段。部分源数据如下:

 

 

        集算器代码:



 

        A1:连接MongoDB,连接字格式为mongo://ip:port/db?arg=value&…。

 

        A2、B2:使用find函数从MongoDB中取数并排序,形成游标。其中A2是被连接的游标,需要按cat排序。集算器的find函数和mongdb的find+sort+limit函数类似,过滤条件的写法遵循mongodb规范。

 

        A3:进行连接运算,关联字段是cat,@x表示对游标进行连接,@1表示左连接,两个选项可以连用。

 

        A4:从A3取出需要的字段,_1和_2依次表示连接中的每个游标。

 

        A5:取出游标数据,结果如下:



 

        需要指出的是,如果数据太大无法装入内存,可以用函数export将A4输出到文件。

 

        A6:关闭MongoDB连接。

  • 大小: 128.6 KB
  • 大小: 26.1 KB
  • 大小: 37.8 KB
1
1
分享到:
评论

相关推荐

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    3.5 客户端请求和MongoDB数据库连接 3.6 本章小结 第2篇 应用篇 第4章 查询 4.1 find简介 4.1.1 返回指定的键 4.1.2 find查询限制 4.2 条件操作符 4.2.1 $all匹配所有 4.2.2 $exists判断字段...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    3.5 客户端请求和MongoDB数据库连接 3.6 本章小结 第2篇 应用篇 第4章 查询 4.1 find简介 4.1.1 返回指定的键 4.1.2 find查询限制 4.2 条件操作符 4.2.1 $all匹配所有 4.2.2 $exists判断字段...

    qmgo:Qmgo-MongoDB的Go驱动程序。 它基于官方的mongo-go-driver,但像Mgo一样易于使用

    汇总,索引运算,游标 验证标签 插入 安装 使用go mod通过import github.com/qiniu/qmgo自动安装依赖import github.com/qiniu/qmgo 要么 使用go get github.com/qiniu/qmgo 用法 开始 import并创建新连接 import ( ...

    使用 Koa + MongoDB + Redis 搭建论坛系统.zip

    中央处理单元 (CPU):作为计算机的大脑,负责执行指令、进行逻辑运算和数据处理。 内存:包括随机访问内存 (RAM) 和只读存储器 (ROM),用于临时或永久地存储程序和数据供CPU快速访问。 存储设备:如硬盘、固态...

    基于 node.js + Mongodb 构建的后台系统.zip

    中央处理单元 (CPU):作为计算机的大脑,负责执行指令、进行逻辑运算和数据处理。 内存:包括随机访问内存 (RAM) 和只读存储器 (ROM),用于临时或永久地存储程序和数据供CPU快速访问。 存储设备:如硬盘、固态...

    vue+node+mongodb仿美团外卖点餐系统带支付功能.zip

    中央处理单元 (CPU):作为计算机的大脑,负责执行指令、进行逻辑运算和数据处理。 内存:包括随机访问内存 (RAM) 和只读存储器 (ROM),用于临时或永久地存储程序和数据供CPU快速访问。 存储设备:如硬盘、固态...

    商品管理系统.zip

    基于SpringBoot + Mybatis + Thymeleaf + Redis + MongoDB + MySQL开发的 计算机硬件系统: 计算机硬件系统是构成计算机物理实体的所有部件的集合,包括核心组件以及外设。其主要组成部分包括: 中央处理单元 ...

    python数据分析随书代码

    3.3 用NumPy进行线性代数运算 57 3.3.1 用NumPy求矩阵的逆 57 3.3.2 用NumPy解线性方程组 59 3.4 用NumPy计算特征值和特征向量 61 3.5 NumPy随机数 63 3.5.1 用二项式分布进行博弈 63 3.5.2 正态分布采样 66 ...

    Mycat数据库中间件 v1.13

    更新日志修复所有下推中带有错误联合的连接 修复生成的sql带有类型转换导致mysql运算不正确 修复黑客路由器损坏 修复黑客路由器响应int类型可能超出数字范围Mycat的目标是以低成本将当前的独立数据库和应用程序...

    Mycat2数据库中间件-其他

    MyCAT是一种开源软件,是面向企业的“大型... Mycat2 更新日志:v1.13修复所有下推中带有错误联合的连接修复生成的sql带有类型转换导致mysql运算不正确修复黑客路由器损坏修复黑客路由器响应int类型可能超出数字范围

Global site tag (gtag.js) - Google Analytics