Doctrine 2,Mongo DB,Query Builder - 如何为单个字段定义多个相等值?

Doctrine 2, Mongo DB, Query Builder - how to define multiple equals values for a single field?

参考文档:

http://doctrine-orm.readthedocs.org/projects/doctrine-mongodb-odm/en/latest/reference/query-builder-api.html#getting-single-result

我想为单个字段指定多个值,但不知道该怎么做?

这是文档中的示例:

<?php

$user = $dm->createQueryBuilder('User')
    ->field('username')->equals('jwage')
    ->getQuery()
    ->getSingleResult();

我想要获取 'username' 不仅匹配 'jwage' 还匹配另一个用户名的文档,例如'tthumb'。将数组或逗号分隔的字符串传递给 equals 似乎很直观,就像使用 select() 一样,但似乎都不起作用。也许我忽略了一些领域?

非常欢迎任何建议。

你需要使用另一种方法:

$user = $dm->createQueryBuilder('User')
           ->field('username')->in(array('jwage', 'tthumb'))
           ->getQuery()
           ->getSingleResult();

但由于它是一个预期 单个 结果的查询,因此您必须确保此查询将 return 只有一个结果。在其他情况下,它会抛出一个错误。