我在PHP中有这个MongoDB查询:
$data = $collection->aggregate(
array('$match' => array(
'PATIENT_ID' => $singoloPatientId
)),
array('$group' => array(
'_id' => '$PATIENT_ID',
'massi1' => array(
'$max' => $dnameth_value
)
))
);
工作。现在我想添加另一个where条件AND:
experiment = $experimentInput
我该怎么做?
try this
$data=$collection->aggregate(
array('$match'=> array(
'$and' => array(
'PATIENT_ID'=>$singoloPatientId,
'experiment'=>$experimentInput
))),
array('$group' => array(
'_id' => '$PATIENT_ID',
'massi1' => array(
'$max' => $dnameth_value
)
))
)
只需将具有条件的表达式附加到现有的 $match
查询:
$data = $collection->aggregate(
array('$match' => array(
'PATIENT_ID' => $singoloPatientId,
'experiment' => $experimentInput
)),
array('$group' => array(
'_id' => '$PATIENT_ID',
'massi1' => array(
'$max' => $dnameth_value
)
))
);
从docs:
MongoDB在指定逗号时提供隐式
AND
操作分隔的表达式列表。使用显式AND
和$and
当必须使用相同的字段或操作符时,必须使用操作符在多个表达式中指定。