我在PHP中有这个MongoDB查询:
$data = $collection->aggregate(
array('$match' => array(
'PATIENT_ID' => $singoloPatientId
)),
array('$group' => array(
'_id' => '$PATIENT_ID',
'massi1' => array(
'$max' => $dnameth_value
)
))
);
哪个有效。现在我想用AND添加另一个where条件:
experiment = $experimentInput
我该怎么做?
答案 0 :(得分:1)
试试这个
$data=$collection->aggregate(
array('$match'=> array(
'$and' => array(
'PATIENT_ID'=>$singoloPatientId,
'experiment'=>$experimentInput
))),
array('$group' => array(
'_id' => '$PATIENT_ID',
'massi1' => array(
'$max' => $dnameth_value
)
))
)
答案 1 :(得分:0)
只需将带有条件的表达式附加到现有的 $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
当相同的字段或操作符必须时,操作符是必需的 在多个表达式中指定。