mongoDB Поиск без объединений - PullRequest
0 голосов
/ 31 января 2020

У меня есть две коллекции: Профили и Сотрудники.

Сотрудники состоят из firstName, lastName и т. Д. c.

Profiles-Collection, помимо прочих данных, содержит несколько пар ключ-значение которые описывают профессию или уровень опыта, например, "software-engineer": true, "javascript": 3

Так как вы не можете иметь объединения в mongoDB, мне нужно искать каждую коллекцию по отдельности, а затем «объединять» этот результат. Это оставляет мне 2 варианта:

1) Наличие двух отдельных панелей поиска на внешнем интерфейсе, так что я знаю, какой поисковый запрос принадлежит какой коллекции

2) Имею одну панель поиска и выполняем поиск обоих коллекции с одним и тем же запросом

Вариант два реализован таким образом, что поиск в одной коллекции либо возвращает требуемые данные, когда поисковый запрос имеет совпадение, либо возвращает ВСЕ данные, когда поисковый запрос не находит совпадения. Это означает, что поиск по «Джону Доу» дает нам Джона, а поиск по «angular» дает нам всех сотрудников, которые работают с angular. Но это также означает, что поиск по слову «john angular» дает нам всех сотрудников, которые работают с angular OR, и называются john.

То, что я на самом деле хочу, это поиск AND (как в варианте 1), но с одной строкой поиска. Есть ли способ реализовать это в MongoDB или это возможно только в реляционной базе данных?

...