我似乎是一个相对简单的任务,从两个集合中获取数据并且"合并"他们成一个集合。
我已成功使用aggregation framework和$lookup operator处理各种其他任务。
我想也许我能想出的最接近的类比是full outer join,但$ lookup与left outer join非常类似。
作为一个例子,让我们说我有以下两个集合:
collection1
:
{key: 1, val: '1'}
{key: 2, val: '2'}
collection2
:
{key: 3, val: '3'}
{key: 4, val: '4'}
并且期望的最终效果是:
collection3
:
{key: 1, val: '1'}
{key: 2, val: '2'}
{key: 3, val: '3'}
{key: 4, val: '4'}
我知道我可以完成这个"客户端",但每个集合中可能有数百万条记录,并且我试图通过尽可能少的数据移动来实现这一点,以提高效率。
我的真实要求也可能涉及一些围绕匹配记录的分组,例如可以通过$group operator完成,但我认为这是一个正交问题,所以我现在暂时将它放在一边。 / p>
有没有比我更多经验的人,对这类事情有什么建议吗?