在多个MongoDB服务器上查询不同的集合

时间:2018-07-03 13:00:49

标签: node.js mongodb mongodb-query

我有两个MongoDB数据库实例,数据库A和数据库B。数据库A包含集合X。数据库B包含集合Y。它们共享一个索引,并且可以假定具有一对一关系。

进行此设置的原因严格来说是业务决策,不能更改。

要响应API,最终需要将它们合并到一个包含新对象的数组中,该对象包含来自集合X和集合Y的信息。API允许针对每个集合中的数据元素进行过滤。如何查询两个集合?

到目前为止,我想出的最好的“解决方案”是从两个数据库中获取集合,然后在内存中使用以下Javascript(利用Lodash库)进行合并:

_.map(collectionX, (item) => 
    _.extend(item, {
        _metadata: _.find(collectionY, {sharedId: item.sharedId})
    })
);

是否有更好,更有效的方式来进行这种查询?

0 个答案:

没有答案