2012-11-27 2 views
0

J'ai longue question sur mongodb. Je veux écrire que php La requête ressembleconversion de mongodb en php avec 'et'

"department":"xxx","rank":"xxx", 
$and:[{"emails.email" :{$ne : ""}},{"emails.email":{$ne:null}}]; 

Je veux convertir en php.

"département" => $ xxx, "rang" => $ xxx .. ?? pour convertir 'et' je ne peux pas venir. Aidez-nous

Répondre

2

La meilleure façon de travailler avec les $ modiers est d'utiliser des guillemets simples comme indiqué ci-dessous. Il est proche de la syntaxe mais vous voudrez la vérifier car je suis certain qu'il y a peut-être un bracket manqué.

array(
    'department'=>'', 
    'rank=>'', 
    '$and'=>array(
    'emails.email'=>array('$ne'=>''), 
    'emails.email'=>array('$ne'=>NULL) 
) 
); 

Bonne chance!

1

Vous pouvez valider la requête que @Frederico a écrite, mais cette requête pourrait faire l'objet d'une optimisation. Voici une suggestion:

array(
    'department' => '', 
    'rank' => '', 
    'emails.email' => array('$nin' => array('', null)) 
) 

qui fera le travail tout aussi bien sans le $and et les deux $ne séparés.