我想删除所有文档,其中没有一个字段,而不是我拥有的一系列ID。当我尝试时,它只是删除了我的数据库中的所有内容。
这是我拥有的代码:
public function removeNotInListingIdList($ids, $country) {
$dm = $this->getDocumentManager();
$dm->createQueryBuilder('DnDReactivePandoraBundle:Property')
->remove()
->field('listingId')->notIn($ids)
->field('country', $country)
->getQuery()
->execute();
}
我在这里做错了什么?
update
这是 debug 指令的输出:
Array
(
[type] => 3
[query] => Array
(
[listingId] => Array
(
[$nin] => Array
(
[0] => 15-77
[1] => 15-79
[2] => 15-82
[3] => 13-39
[4] => 15-85
[5] => 15-86
[6] => 15-60
[7] => 15-61
[8] => 16-8
)
)
[country] => Mexico
)
[newObj] => Array
(
)
)
您的野外国家未正确构建。应该是:
$dm = $this->getDocumentManager();
$dm->createQueryBuilder('DnDReactivePandoraBundle:Property')
->remove()
->field('listingId')->notIn($ids)
->field('country')->equals($country)
->getQuery()
->execute();