MongoDB текстовый поиск по двум коллекциям - PullRequest
0 голосов
/ 04 мая 2019

У меня есть коллекция заказов с адресными полями и коллекция пользователей с именами.Коллекция Order содержит строку userId, которая является "внешним ключом" в коллекции пользователей.

Я использую конвейер агрегации для фильтрации, объединения, сортировки и разбивки на страницы запросов.Проблема заключается в том, что мне нужно обеспечить полнотекстовый поиск по полям адреса и имени.

Поскольку сопоставление $ text должно быть первым этапом конвейера, я не уверен, как достичь цели поиска текстасопоставление с любым адресом или полем имени.

Коллекция пользователей

[{
    "_id": "5cb8caa069fc1a4351cc3705",
    "firstName": "James",
    "lastName": "Bond"
},{
    "_id": "5c58b8de8596d52c248f34d5",
    "firstName": "Jack",
    "lastName": "Ryan"
}]

Коллекция заказов

[{
    "_id": "5ccc94602e67ca44fe69f160",
    "address": {
        "streetAddress1": "1112 main st",
        "streetAddress2": null,
        "unitNumber": "unit 1112",
        "city": "Jackson Hole",
        "state": "WY",
        "postalCode": "83001"
    },
    "userId": "5cb8caa069fc1a4351cc3705"
}]

Поиск для«Джек» должен совпадать как с именем «Джек», так и с городом «Джексон Хоул».

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