需要使用php查询MongoDB

时间:2012-08-29 15:20:59

标签: mongodb mongodb-php

我需要用这样的东西来查询mongodb:

("something" < X OR "something" = "nll") AND ("someother">X OR "someother"= "nll") AND z=$z AND s=1

我尝试过一些东西,但无法让它发挥作用,这就是我尝试过的:

find( array( '$or'=>array(array("something"=>array("$le",$X)),array("something"=>"nll")), '$or'=>array(array("someother"=>array("$ge",$X)),array("someother"=>"nll")) ))

但是这让我被OR覆盖了,所以我迷失了......

经过多次挖掘之后,我收集了这个似乎是我需要的代码,但是也没有用:

find( array('$and'=>array( array( '$or' => array( array("something"=>array('$gte'=>$X)),array("something"=>"nll"))), array('$or' => array( array("someother"=>array('$lte'=>$X)),array("someother"=>"nll")))),"Z"=>$z, "s"=>"1");

但这不起作用,因为它返回零结果,我确信在数据库上有超过2项匹配。 (100%确定)

1 个答案:

答案 0 :(得分:0)

$range = array('$and' => array(  
     array('$or' => array(
         array("something" => array( "$lte" => $X)),
         array("something" => "null")),
     array('$or' => array(
          array("someother" => array("$gte" => $X)),
          array("someother" => "null"))   
));