大佬教程收集整理的这篇文章主要介绍了mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
title="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" alt="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" src="https://cn.js-code.com/res/2019/02-17/00/ad1fd44f1692f0a63be1b8d226468182.png" >
@H_874_0@很简单,就是上面的这十三个,比如说有了所谓的$group操作,我们就可以把这个aggreation做group的处理,有了$sort操作,就可以将结果进行排 @H_874_0@序,有了$out操作,我们就可以将结果放到一个collections中去或者inline模式展示。。。 @H_874_0@ @H_874_0@ 说了这么多,下面我们简单的来演示一下,比如我们有一个product表,有一个orders表,自然就存在着一个外键关系,下面我们就来造点数据。title="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" alt="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" src="https://cn.js-code.com/res/2019/02-17/00/82350fbd8e08116320afd04c12b7fdbe.png" >
@H_874_0@好了,数据已经构造完毕,接下来我们要做的一个小需求就是,在orders表中,找到price of product >20 的订单,这个需求看起来很简单,对吧, @H_874_0@但是呢,我们的orders表中是没有price的field的,所以第一步就是: @H_874_0@ $lookup 表关联title="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" alt="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" src="https://cn.js-code.com/res/2019/02-17/00/a667235729f1d953b72b9125c54ba6df.png" >
@H_874_0@下面我简单介绍一些$lookup中的参数: @H_874_0@from:需要关联的表【orders】 @H_874_0@localField: 【product】表需要关联的键。 @H_874_0@foreignField:【orders】的matching key。 @H_874_0@as: 对应的外键集合的数据,【因为可能是一对多的,对吧】 @H_874_0@好了,表关联已经做好了,接下来我们就需要用另外一个关键词叫做$match,where条件的意思嘛。。。 @H_874_0@ $match筛选 @H_874_0@title="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" alt="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" src="https://cn.js-code.com/res/2019/02-17/00/953ff5edc22d9d357a89460c6cb62176.png" >
@H_874_0@果然不出所料,我们就把”商品1“过滤掉了,因为它的价格小于20,对吧,但是呢,看起来还不是很完美,应为我只需要orders信息,并不想要 @H_874_0@所谓的product 这些属性,这个时候我们就可以使用$project 做SELEct操作了。。。 @H_874_0@ $project 挑选字段 @H_874_0@ 接下来我们使用$project来指定我要获取的字段,比如我只需要inventory_docs字段就可以了。 @H_874_0@title="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" alt="mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理" src="https://cn.js-code.com/res/2019/02-17/00/128a78136f6511646d7a56211b4196ab.png" >
@H_874_0@ok,当我执行之后,现在是这个吊样子了,5;">这个就是本篇所说的,是不是很简单,同时呢,我也给大家简单的介绍了下Aggreation的使用,是不 @H_874_0@是很好玩,当然Aggregate下面还有其他很多的$操作符,你可以按照要求试试看哦~ 记得这个可是pipeline的模式哦。。。以上是大佬教程为你收集整理的mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理全部内容,希望文章能够帮你解决mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。