найти по объединенному полю с поиском mongodb - PullRequest
0 голосов
/ 08 апреля 2020

Я пытался выполнить запрос с полем, которое находится внутри другой коллекции, я использовал заполнение, но проблема в том, что заполнение не присоединяется REAL при чтении, поэтому я пошел с $lookup в понедельник goose, но проблема в том, что он не выполняет запрос с объединенным полем, вот документ

[
    {
         "_id":"5e80e26dad54cf118474cba5",
         "author":{
             "_id":"5e7fbc19d8f65819a02847db",
             "companyName":"mamubet llc",
             "logo":"iconfinder_Beer_Barrel_drink_3017863-eb2d3a85-67f3-4ef3-aa40-50cc42441775.png"
         },
         "title":"TEST1",
         ...other fields
    }
]

автор является присоединенным документом. но проблема в том, что когда я пытаюсь запросить с companyName, как это:

        queryBuilder['$or'] = [
            {
                title: {
                    $regex: query,
                    $options: 'i'
                }
            },
            {
                'author.companyName': {
                    $regex: query,
                    $options: 'i'
                }
            }
        ];

, это не возвращает правильный результат, почему? вот трубопровод

    let instance = await Model.aggregate([
        {
            $match: queryBuilder
        },
        ...other stages
        {
            $lookup: {
                from: 'employers',
                localField: 'author',
                foreignField: '_id',
                as: 'author'
            }
        },
        {
            $unwind: "$author"
        },
        {
            $project: {
                _id: 1,
                title: 1,
                updatedAt: 1,
                ...other fields
                'author.companyName': 1,
                'author.logo': 1,
                'author._id': 1
            }
        }
    ]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...