mongodb - поиск в массиве, PHP - PullRequest
2 голосов
/ 05 октября 2011

я начал с mongodb и поиграл со случайными данными о температуре как это:

'weather' => array(
                    'Air' => array(
                        'Jan' => 11,
                        'Feb' => 20,
                        'Mar' => 24,
                        'Jun' => 28,
                        'Jul' => 30
                    )
                ),

Теперь мой вопрос: Как я могу запросить массив Air?

Я знаю, что могу сделать что-то вроде:

$query = array('weather.Air.Jan' => 11);

Работает нормально ...

Но как мне искать во всем массиве Air:

$query = array('weather.Air.$' => 40);

Этот запрос не работает ... Может ли кто-нибудь помочь мне

1 Ответ

2 голосов
/ 05 октября 2011

К сожалению, искомый запрос не существует.

Как написано, вы запрашиваете "weather.Air, где ключ в объекте JSON содержит значение 40".

MongoDB имеет возможность «сверлить» массивы.Тем не менее, когда дело доходит до подобъектов, вы должны напрямую обращаться к клавишам.Нет оператора, обеспечивающего метод поиска по всем ключам.По этому пункту имеется невыполненный запрос JIRA прямо здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...