0

PHP コードを使用して、mongodb から次のようなクエリが必要です。

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

動作しない次のコードを試しました:

$filterpatient = array("order.patientinfo.mrn" => $reqresult, '$and' => array( 
    array('order.orderitem.status' => array('$ne' => array('cancelled','delivered')))
    ));
$cursor = $collection->find($filterpatient)->sort(array('_id'=>-1));
4

3 に答える 3

0

クエリが正しくありません。まず、mrn クエリも $and 句に含める必要があり$nin、ステータスに (配列ではなく) 使用する必要があります。ステータス クエリも 2 つのarray(句で囲まれています。

$filterpatient = array('$and' => array(
    "order.patientinfo.mrn" => $reqresult, 
    "order.orderitem.status" => array('$nin' => array('cancelled','delivered', 'draft'))
));
于 2016-08-01T11:52:37.513 に答える