在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

MongoDB 中怎么计算子查询

104次阅读
没有评论

共计 1950 个字符,预计需要花费 5 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家介绍 MongoDB 中怎么计算子查询,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

MongoDB 在某些方面确实比关系型数据库更强 (比如对追加型日志数据的吞吐能力),但结构化计算能力方面较弱。比如:MongoDB 不支持子查询,碰到这些复杂的运算就只能先将数据读出后再计算,而用 Java 等语言编写这类计算也不是很简单。

比如要处理这么个场景:查出订单信息,要求订单中的 SELLERID 必须是 employee 集合中 STATE= California 的员工 id。如果写成 sql 就是:

Select * from orders where orders.sellerid in (select eid from employee where employee.state=’California’)。

orders 的数据量较大无法一次取出,employee 的数据量较小,最终结果的数据量也较小。部分数据如下:

MongoDB Collection orders:

{_id : ObjectId( 5434f88dd00ab5276493e270), ORDERID : 1, CLIENT : UJRNP

, SELLERID : 17, AMOUNT : 392, ORDERDATE : 2008/11/2 15:28 }

{_id : ObjectId( 5434f88dd00ab5276493e271), ORDERID : 2, CLIENT : SJCH

, SELLERID : 6, AMOUNT : 4802, ORDERDATE : 2008/11/9 15:28 }

{_id : ObjectId( 5434f88dd00ab5276493e272), ORDERID : 3, CLIENT : UJRNP

, SELLERID : 16, AMOUNT : 13500, ORDERDATE : 2008/11/5 15:28 }

{_id : ObjectId( 5434f88dd00ab5276493e273), ORDERID : 4, CLIENT : PWQ ,

  SELLERID : 9, AMOUNT : 26100, ORDERDATE : 2008/11/8 15:28 }

MongoDB Collection employee:

{_id : ObjectId( 5437413513bdf2a4048f3480), EID : 1, NAME : Rebecca ,

SURNAME : Moore , GENDER : F , STATE : California , BIRTHDAY : 1974-1

1-20 , HIREDATE : 2005-03-11 , DEPT : R D , SALARY : 7000 }

{_id : ObjectId( 5437413513bdf2a4048f3481), EID : 2, NAME : Ashley , S

URNAME : Wilson , GENDER : F , STATE : New York , BIRTHDAY : 1980-07-

19 , HIREDATE : 2008-03-16 , DEPT : Finance , SALARY : 11000 }

{_id : ObjectId( 5437413513bdf2a4048f3482), EID : 3, NAME : Rachel , S

URNAME : Johnson , GENDER : F , STATE : New Mexico , BIRTHDAY : 1970-

12-17 , HIREDATE : 2010-12-01 , DEPT : Sales , SALARY : 9000 }

计算结果:

MongoDB 中怎么计算子查询

如果有集算器的协助就简单多了,它是专门为结构化、半结构化数据计算设计的编程语言,查询、子查询、分组后过滤等等都有函数类库可以用,能够很好的弥补 MongoDB 在结构化方面计算能力的不足。比如上面问题,4 行就搞定了:

A

1

=mongo_open(mongodb://localhost:27017/test?user=test password=test)

2

=mongo_shell(A1, orders.find(,{_id:0}) )

3

=mongo_shell@x(A1, employee.find({STATE: California},{_id:0}) ).fetch()

4

=A2.select(A3.(EID).sort().pos@b(SELLERID)).fetch()

其实还有很多情况用 MongoDB 处理结构化计算不太方便,但有集算器 SPL 的辅助却很简单,感兴趣可以参考:
玩转 Mongo 计算、
简化 MongoDB 关联运算、
辅助 MongoDB 计算

集算器还很容易嵌入到 Java 应用程序中,
Java 如何调用 SPL 脚本有使用和获得它的方法。

关于 MongoDB 中怎么计算子查询就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1950字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 久青草国产免费观看 | 一本大道伊人av久久综合 | 国产成人免费高清视频网址 | 视频网站黄色 | 老妇肥熟凸凹丰满刺激 | 52综合精品国产二区无码 | 一区一区三区产品乱码 | 欧美成人久久久免费播放 | 四虎国产精品永久地址入口 | 国产日韩免费视频 | 97伦伦午夜电影理伦片 | av亚洲产国偷v产偷v自拍 | 波多野结衣高潮av在线播放 | 亚洲国产精 | 国产人澡人澡澡澡人碰视频 | 欧美精品v国产精品v日韩精品 | 香蕉碰碰碰 | 欧美成人www在线观看网页 | 狠狠色综合7777久夜色撩人ⅰ | 国产夜色视频 | 国产互换人妻xxxx69 | 精品成人乱色一区二区 | 亚洲精品成a人在线观看 | 荡女精品导航 | 国产精品无码永久免费888 | 男人天堂999 | 日本人妻人人人澡人人爽 | 日韩欧美在线观看成人 | 国产亚洲成av人片在线观看 | 久久www免费人成_看片高清 | 国产精品手机在线亚洲 | 九九精品视频在线播放 | 欧美aaa毛片免费看 欧美aaa性bbb毛片 | 特一级黄色毛片 | 欧美日韩中文字幕在线观看 | 日韩欧美国产综合 | 美国免费毛片性视频 | 天天天天色 | 深夜福利小视频在线观看 | 国产69精品久久久久777 | 污污污污污污污网站污 |