【发布时间】:2014-06-30 21:39:57
【问题描述】:
我有一个 MongoDB 文档,其结构类似于以下结构。我正在根据 people.search_columns.surname 和 people.columns.givenname 进行搜索。例如,当我搜索给定名称“Valentine”时,我想取回文档,但不应包含 Nicholas Barsaloux。
数据结构:
[_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);
目前该代码返回零结果。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework mongodb-php