@Babich_S

Как получить с помощью одного запроса результаты из нескольких коллекций?

Нужна НЕ альтернатива SQL Join. Сколько не пытался найти решение, и как только не формулировал запросы к поисковой системе, постоянно нахожу только вопросы/ответы о том как сделать альтернативу Join запросу, связать записи из двух коллекций по какому-либо полю.

В моем случае имеется несколько коллекций с похожими по структуре документами, с небольшими различиями (типы материалов в CMS, с разными наборами полей, и некоторыми общими, вроде title, created, updated). Нужно вывести эти все материалы в общую таблицу, с пагинацией и общей сортировкой по дате добавления или другому полю которое имеется во всех коллекциях. Мне не нужно каким-либо образом связывать поля сущностей между собой, а нужна альтернатива простому find() но только одновременно с нескольких коллекций. Можно было бы получить данные несколькими запросами, но тогда возникает проблема с пагинацией и сортировкой - я не знаю как это можно реализовать на стороне приложения не вытягивая для этого из базы данных все записи.

Возможно ли вообще реализовать подобный запрос? Помогите пожалуйста найти решение, или хотя-бы подскажите в какую сторону копать. Может быть возможно какое-то гибридное решение проблемы, с несколькими запросами к базе данных и обработкой на стороне приложения, но без необходимости доставать все данные? Я понимаю что в случае с MongoDB также можно просто сложить все документы в одну коллекцию, как бы они не отличались по структуре, но по ряду причин не хотелось бы этого делать.
  • Вопрос задан
  • 599 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы