mongodb php更新$pull
有一个集合“emailDeliveryActive”: 必须来自“收件人”数组才能从给定电子邮件中删除项目。 这样做:mongodb php更新$pull,php,mongodb,pull,Php,Mongodb,Pull,有一个集合“emailDeliveryActive”: 必须来自“收件人”数组才能从给定电子邮件中删除项目。 这样做: $result = $mongoDB->emailDeliveryActive->update( array('_id' => $emailDelivery['_id']), array( '$pull'=>array( 'recipients.$.email' => 'test1@gmail.com' ) ) ); $result将变为TRUE
$result = $mongoDB->emailDeliveryActive->update(
array('_id' => $emailDelivery['_id']),
array(
'$pull'=>array(
'recipients.$.email' => 'test1@gmail.com'
)
)
);
$result将变为TRUE,但集合不会更改。我做错了什么?您不需要$运算符-它用于“查询中匹配数组项的位置”-在这里使用没有意义。试试看:
$result = $mongoDB->emailDeliveryActive->update(
array('_id' => $emailDelivery['_id']),
array(
'$pull'=> array('recipients' => array('email' => 'test1@gmail.com'))
)
);
$result = $mongoDB->emailDeliveryActive->update(
array('_id' => $emailDelivery['_id']),
array(
'$pull'=> array('recipients' => array('email' => 'test1@gmail.com'))
)
);