Я хочу запрос, подобный следующему из mongodb с использованием кода PHP:
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));
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"]}});
Для более подробной информации кликните сюда
Ваш запрос неверен, во-первых, ваш запрос mrn также должен быть в предложении $ and, и вы должны использовать $nin
(не в массиве) для вашего статуса. Ваш запрос статуса также был окружен двумя array(
статьи.
$filterpatient = array('$and' => array(
"order.patientinfo.mrn" => $reqresult,
"order.orderitem.status" => array('$nin' => array('cancelled','delivered', 'draft'))
));
Ты можешь использовать 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);
}