PHP + Mongatb Concat функция выдает ошибки

Mongodb + php: я новичок в mongodb, здесь мое требование заключается в том, что мне нужно выполнить поиск по ключевым словам по двум полям (т.е. first_name, last_name) и возвращать точно совпадающие записи в качестве имени пользователя в одном запросе.

код:

$res = $this->db->nf_users->aggregate({$project:{username:{$concat:["$first_name","$last_name"]}}},
{$match:{username:$search}}

Который сталкивался с ошибками.

Ошибка разбора: синтаксическая ошибка, неожиданная { в

Кто-нибудь может подсказать, где это пошло не так.

Спасибо,

3

Решение

db.users.aggregate(
{
$project:{
username:{ $concat:["$first_name",' ',"$last_name"]}
}
},
{
$match :{
username: { $regex:"abc",$options:"i"}
}
}
)

Таким образом, вы сможете сделать поиск без учета регистра

$users = $this->db->collection('nf_users')
->raw(function ($collection) {
return $collection->aggregate(
array(
array(
'$project' => array(
'username' => array('$concat' => array('$first_name', ' ', '$last_name')),
)
),
array(
'$match' => array(
'username' => array('$regex' => 'avi', '$options' => 'i'),
)
)
)
);
});
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector