MongoDB是一个文档型、无模式的数据库,自然就很难在关系型数据库中非常擅长的多表关联上发挥作用。尽管后来版本 MongoDB 增加了 $lookup 支持单字段关联,但对两个或两个以上的字段关联的需求有点心有余而力不足。如有两个集合 C1、C2 通过 C1.sid=C2.sid and C1.mid=C2.mid 进行关联查询:
| C1 | sid | mid | sale |
| 100 | 102 | 8210 | |
| 100 | 103 | 4932 |
| C2 | sid | mid | buy |
| 100 | 102 | 4300 | |
| 100 | 103 | 5300 | |
| 100 | 104 | 7833 |
期望查询结果:

MongoDB 的 $lookup 功能仅支持单字段关联,但通过集算器可以方便地实现多字段关联查询。本文介绍了如何在集算器中编写脚本完成 C1.sid=C2.sid and C1.mid=C2.mid 的关联操作,并展示了集算器与 Java 集成的示例代码,提供了一种解决 MongoDB 多字段 JOIN 问题的方法。
最低0.47元/天 解锁文章
686

被折叠的 条评论
为什么被折叠?



