Я пытаюсь сделать эквивалент MongoDB, который должен возвращать всех пользователей по имени Джо Блоггс, у которых есть хотя бы один адрес, где город определен как Лондон:
db.users.findOne() {
name : "Joe Bloggs",
addresses : [{city: "London"}]
}
Использование Kohana 3 PHPмодуль Mango: https://github.com/Wouterrr/MangoDB
Я могу вернуть результаты, основанные на объектах верхнего уровня, например:
foreach(Mango::factory('users', array(
'name' => 'Joe Bloggs',
))->load(FALSE) as $user) {
}
Но я не могу понять, как вернуть результаты, основанные на объектах в массивах,Я пробовал варианты:
foreach(Mango::factory('users', array(
'name' => 'Joe Bloggs',
'addresses' => array('city' => 'London'),
))->load(FALSE) as $user) {
}
и:
foreach(Mango::factory('users', array(
'name' => 'Joe Bloggs',
'addresses.$.city' => 'London',
))->load(FALSE) as $user) {
}
Я думаю, что я действительно близок, я просто застрял на последнем.