学说和mongodb:删除所有文档,而没有字段,而不是在数组中



我想删除所有文档,其中没有一个字段,而不是我拥有的一系列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();

相关内容

  • 没有找到相关文章