0

次のようなもので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%確実)

4

1 に答える 1

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"))   
)); 
于 2012-08-29T15:22:28.773 に答える