2016-05-01 6 views
0

Les documents dans ma collection ressemblent à ceci:Comment retour nombre de documents qui correspondent à un critère donné en utilisant le pilote php?

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

Afficher le nombre total de documents dans lesquels la température élevée fahrenheit est supérieure ou égale à 120 et la basse température de fahrenheit est inférieure ou égale à -60.

+0

Comment est votre modèle de collection? –

Répondre

0

Comme dans shell, le pilote PHP fournit la méthode .count qui est exactement ce dont vous avez besoin ici, également pour accéder au champ "fahrenheit" dans votre document incorporé pour utiliser le dot notation.

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

Cela équivaut à la requête suivante dans le shell:

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