MongoDB   发布时间:2022-05-23  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

  这篇我们来看mongodb另一个非常有意思的东西,那就是$lookup,我们知道mongodb是一个文档型的数据库,而且它也是最像关系型数据库的

一种nosql,但是呢,既然mongodb是无模式的,自然就很难在关系型数据库中非常擅长的多表关联上发挥作用,在这之前,我们可以使用DbRef,但

是呢,在mongodb 3.2 中给你增加了一个相当牛逼的手段,那就是$lookup,而且放到了aggreation这种重量级的pipeline分析框架上,自然就是一等

公民了,牛逼哈~。

  

   这个aggregate在mongodb中算是一个非常重量级的工具了,而且pipeline的管道模型的理论就是后面操作的数据源来源于上一次操作的结果,这个

应该很好理解吧,好了,下面我们简单看看aggreation中到底有哪几个一等公民。

img src="https://code.js-code.com/res/2019/02-17/00/ad1fd44f1692f0a63be1b8d226468182.png" alt="">

很简单,就是上面的这十三个,比如说有了所谓的$group操作,我们就可以把这个aggreation做group的处理,有了$sort操作,就可以将结果进行排

序,有了$out操作,我们就可以将结果放到一个collections中去或者inline模式展示。。。

   说了这么多,下面我们简单的来演示一下,比如我们有一个product表,有一个orders表,自然就存在着一个外键关系,下面我们就来造点数据。

div class="cnblogs_code">
db.product.insert({:,:,:{:,:,:db.orders.insert({<span style="color: #800000;">"<span style="color: #800000;">_ID<span style="color: #800000;">":<span style="color: #800080;">1,<span style="color: #800000;">"<span style="color: #800000;">pID<span style="color: #800000;">":<span style="color: #800080;">1,<span style="color: #800000;">"<span style="color: #800000;">ordername<span style="color: #800000;">":<span style="color: #800000;">"<span style="color: #800000;">订单1<span style="color: #800000;">"<span style="color: #000000;">})
db.orders.insert({<span style="color: #800000;">"<span style="color: #800000;">_ID<span style="color: #800000;">":<span style="color: #800080;">2,<span style="color: #800000;">"<span style="color: #800000;">pID<span style="color: #800000;">":<span style="color: #800080;">2,<span style="color: #800000;">"<span style="color: #800000;">ordername<span style="color: #800000;">":<span style="color: #800000;">"<span style="color: #800000;">订单2<span style="color: #800000;">"<span style="color: #000000;">})
db.orders.insert({<span style="color: #800000;">"<span style="color: #800000;">_ID<span style="color: #800000;">":<span style="color: #800080;">3,<span style="color: #800000;">"<span style="color: #800000;">ordername<span style="color: #800000;">":<span style="color: #800000;">"<span style="color: #800000;">订单3<span style="color: #800000;">"<span style="color: #000000;">})
db.orders.insert({<span style="color: #800000;">"<span style="color: #800000;">_ID<span style="color: #800000;">":<span style="color: #800080;">4,<span style="color: #800000;">"<span style="color: #800000;">ordername<span style="color: #800000;">":<span style="color: #800000;">"<span style="color: #800000;">订单4<span style="color: #800000;">"<span style="color: #000000;">})

db.product.find()
db.orders.find()

大佬总结

以上是大佬教程为你收集整理的mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理全部内容,希望文章能够帮你解决mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:但是呢