是否可能" union"两个mongo集合"服务器端"?

时间:2016-07-26 14:20:44

标签: mongodb aggregation-framework

我似乎是一个相对简单的任务,从两个集合中获取数据并且"合并"他们成一个集合。

我已成功使用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>

有没有比我更多经验的人,对这类事情有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在实现SERVER-23201的情况下,这将在MongoDB服务器中实现。