var query = req.params.query;
const messages = await Message.aggregate([
{
$lookup: {
from: 'users',
localField: 'reference_id',
foreignField: '_id',
as: 'users'
}
},
{'text': {'$regex': `.*${query}.*`}}
])
$ lookup предоставляет мне правильную информацию, но $ regex не работает должным образом Когда add {'text': {'$ regex': .*${query}.*
}} говорит мне, что аргументы должны быть агрегатными операторами конвейера после $ lookup i иметь данные
{
"response": {
"messages": [
{
"_id": "5e4a8e640b92852e110af62f",
"text": "Gsshha",
"reference_id": null,
"date": 1581944420262,
"users": [
{
"_id": "5e4a8d2d3952132a08ae5764",
"phone": "1111111111",
"first_name": "Test1",
"last_name": "Test1",
"timestamp": 1581944109860
}
]
},
{
"_id": "5e4ce3a4f55dd93292cbe149",
"unreads": [
"text": "Hi",
"reference_id": null,
"date": 1582097316013,
"users": [
{
"_id": "5e4a8d2d3952132a08ae5764",
"phone": "1111111111",
"first_name": "Test1",
"last_name": "Test1",
"timestamp": 1581944109860
}
]
}
]
}
}
Что я хочу достичь, получить все значения из $lookup
и строку поиска из text field, first_name field и last_name поле, как этого добиться