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 |
期望查询结果:
sid | mid | buy | sale |