首页 > 数据库技术 > 详细

MongoDB的连接运算

时间:2015-07-22 02:08:53      阅读:254      评论:0      收藏:0      [点我收藏+]

? ? ? ? 来源: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字段。部分源数据如下:

?
bubuko.com,布布扣
?

? ? ? ??集算器代码:


bubuko.com,布布扣
?

? ? ? ??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:取出游标数据,结果如下:


bubuko.com,布布扣
?

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

?

? ? ? ??A6:关闭MongoDB连接。

MongoDB的连接运算

原文:http://datamachine.iteye.com/blog/2229110

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!