Обратный поиск в MongoDB - PullRequest
       10

Обратный поиск в MongoDB

0 голосов
/ 30 августа 2018

У меня есть следующая схема в MongoDB, где коллекции являются иерархическими и имеют структуру графа:

A -> B -> C -> D -> E

(коллекция A имеет поле со ссылкой (или списком ссылок) на одну или несколько записей в коллекциях B и т. Д.)

Если мне нужно выполнить объединение всех коллекций - при применении некоторых фильтров к коллекции A - я могу сделать запрос агрегации для коллекции A с последовательными $lookup s и $unwind s, потому что всегда есть прямые ссылки от А до Е.

Однако, поскольку количество ссылок из коллекции C в коллекцию D может быть очень большим (порядка тысяч), имеет смысл иметь только (одно) поле ссылки из D в C вместо списка ссылок от C до D. В этом случае граф становится:

A -> B -> C <- D -> E

Могу ли я сделать один запрос к коллекции A и присоединиться ко всем коллекциям до E? Есть ли у MongoDB какой-либо способ выполнить обратный поиск (чтобы получить все записи из коллекции D, связанной с коллекцией C)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...