У меня есть коллекция заказов с адресными полями и коллекция пользователей с именами.Коллекция 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"
}]
Поиск для«Джек» должен совпадать как с именем «Джек», так и с городом «Джексон Хоул».