У меня есть два экземпляра базы данных MongoDB: база данных A и база данных B. База данных A содержит коллекцию X. База данных B содержит коллекцию Y. Они имеют общий индекс, и можно предположить, что они имеют отношение один к одному.
Причиной такой настройки является строго деловое решение, и его нельзя изменить.
Чтобы ответить на API, их в конечном итоге необходимо объединить в один массив, который содержит новые объекты, содержащие информацию как из Collection X, так и из Collection Y. API позволяет фильтровать элементы данных в каждой коллекции. Как я могу запросить обе коллекции?
Лучшее «решение», которое я до сих пор придумал, - это извлечь коллекции из обеих баз данных, а затем объединить их в памяти, используя что-то вроде приведенного ниже Javascript (используя библиотеку Lodash):
_.map(collectionX, (item) =>
_.extend(item, {
_metadata: _.find(collectionY, {sharedId: item.sharedId})
})
);
Есть ли лучший, более эффективный способ сделать такой запрос?