O
geoNear()
O método do construtor de consultas não se destina a ser usado em um campo. near()
é o método construtor que seguiria um field()
foco. Você pode ver o que esses dois métodos de construtor fazem em Construtor.php
dentro do projeto doutrina/mongodb. Observe que geoNear()
altera o tipo de consulta (semelhante ao que update()
faz). O tipo de consulta é então verificado em Query. php
(siga a instrução switch) e determina como emitimos a consulta na coleção. Algumas são operações de consulta reais, mas coisas como map/reduce e geoNear são comandos. Veja se o seguinte código funciona:
$dm->createQueryBuilder('MyBundle:Location')
->geoNear($geocodes['lat'],$geocodes['lon'])
->field('id')->in($arrayIds)
->getQuery()->execute()->toArray();
Caso contrário, depure os valores que Query.php passa para a
Collection::near()
método. Como alternativa, você pode depurar todo o array de consulta gerado pelo construtor usando o Query::getQuery()
método.