У меня есть документ MongoDB, который структурирован аналогично нижеприведенной структуре. Я ищу на основе people.search_columns.surname и people.columns.givenname. Например, когда я ищу имя «Валентина», я хочу вернуть документ, но Николаса Барсалу не следует включать.MongoDB поиск вложенных объектов, соответствующих критериям
Структура данных:
[_id] => MongoId Object (
[$id] => 53b1b1ab72f4f852140dbdc9
)
[name] => People From 1921
[people] => Array (
[0] => Array (
[name] => Barada, Valentine
[search_columns] => Array (
[surname] => Array (
[0] => Mardan,
[1] => Barada
)
[givenname] => Array (
[0] => Valentine
)
)
)
[1] => Array (
[name] => Barsaloux, Nicholas
[search_columns] => Array (
[surname] => Array (
[1] => Barsaloux
)
[givenname] => Array (
[0] => Nicholas
)
[place] => Array (
)
)
)
)
Вот код, я работал на:
$criteria = array("people" => array(
'$elemMatch' => array("givenname" => "Valentine")
));
$projection = array("people" => true);
$documents_with_results = $db->genealogical_data->find($criteria, $projection)->skip(0)->limit(5);
В настоящее время этот код возвращает нулевой результат.
Это сработало отлично. Спасибо! –