2016-08-01 5 views

답변

0

검색어 : 나는 작동하지 않는 다음 코드를 시도

select * from orders where mrn=1234 and status!=cancelled and status!=delivered and status!=draft 

을 잘못된 경우 먼저 mrn 쿼리가 $ 및 절에 있어야하며 배열에 $nin (상태가 아님)을 사용해야합니다. 상태 쿼리도 두 개의 array( 절로 둘러싸였습니다.

$filterpatient = array('$and' => array(
    "order.patientinfo.mrn" => $reqresult, 
    "order.orderitem.status" => array('$nin' => array('cancelled','delivered', 'draft')) 
)); 
1
Try: 
$collection->find(array("order.patientinfo.mrn" => $reqresult, 'order.orderitem.status' => array('$nin' => array("cancelled","delivered","draft"))))->sort(array('_id'=>-1)); 

MongoDB의 쿼리 :

db.orders.find({"mrn":1234,"status":{"$nin":["cancelled","delivered","draft"]}}); 

자세한 내용 Click here

0

를 들어 당신은 다음과 MongoDB_DataObject를 사용할 수 있습니다

$model = new MongoDB_DataObject(); 

$model->query("select * from orders where mrn=1234 and status!='cancelled' and status!='delivered' and status!='draft'"); 

while ($model->fetch()) { 
    var_dump($model); 
} 

또는 :

$model = new MongoDB_DataObject('orders'); 

$model->whereAdd("mrn=1234 and status!='cancelled' and status!='delivered' and status!='draft'"); 

$model->find(); 

while ($model->fetch()) { 
    var_dump($model); 
}