2016-05-01 2 views
0

Документы в моей коллекции выглядеть следующим образом:Как вернуть количество документов, соответствующих заданным критериям, используя драйвер php?

{ 
    "state": "Wyoming", 
    "high": { 
     "fahrenheit": 115, 
     "city": "Basin" 
    }, 
    "low": { 
     "fahrenheit": -63, 
     "city": "Moran" 
    } 
} 

Показать общее количество документов, где высокая температура Фаренгейта больше или равна 120, а низкая температура Фаренгейта меньше или равна -60.

+0

Как ваша модель коллекции? –

ответ

0

Как и в оболочке, драйвер PHP предоставляет метод .count, который именно здесь вам необходим, а также для доступа к полю «Фаренгейта» во встроенном документе вам необходимо использовать dot notation.

$collection->count(
    array(
     "high.fahrenheit" => array("$gte" => 120), 
     "low.fahrenheit" => array("$lte" => -60) 
    ) 
) 

Это эквивалентно следующий запрос в оболочке:

db.collection.count({ 
    "high.fahrenheit": { "$gte": 120 }, 
    "low.fahrenheit": { "$lte": -60 } 
})