Doctrine + MongoDB - 如何查询数组非空的文档

时间:2012-10-09 10:58:14

标签: php doctrine-odm

我想收到大小大于零的数组“赞”的所有文件。我看到了使用 - > size()方法获取特定大小的数组的示例:

$qb = $dm->createQueryBuilder('Article')->field('comments')->size(0);

但是没有获得大小不等于零的数组,是否有选项可以做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以将特定的正整数传递给size,但不能使用它来查询范围。这不是Doctrine的限制,而是MongoDB的限制。 $size上的文档说:

  

$ size不接受值范围。选择基于的文档   具有不同数量的元素的字段,创建一个计数器字段   在向字段添加元素时增加。

要执行此操作,请向文章添加$comments_count @Int字段,并在文档方法中更新它a)修改$comments或b)在注释为{{1的文档方法中}}

另一个(低效)选项是将@PreUpdate与javascript表达式一起使用:

where