El geoNear()
El método de creación de consultas no está diseñado para usarse en un campo. near()
es el método constructor que seguiría a un field()
enfoque. Puede ver lo que hacen estos dos métodos de construcción en Constructor.php
dentro del proyecto doctrina/mongodb. Tenga en cuenta que geoNear()
cambia el tipo de consulta (similar a lo que update()
lo hace). Luego, el tipo de consulta se verifica en Query. php
(siga la declaración de cambio) y determina cómo emitimos la consulta en la colección. Algunas son operaciones de consulta reales, pero cosas como map/reduce y geoNear son comandos.
Vea si el siguiente código funciona:
$dm->createQueryBuilder('MyBundle:Location')
->geoNear($geocodes['lat'],$geocodes['lon'])
->field('id')->in($arrayIds)
->getQuery()->execute()->toArray();
De lo contrario, depure los valores que Query.php pasa a Collection::near()
método. Alternativamente, puede depurar toda la matriz de consulta generada por el constructor usando Query::getQuery()
método.