Il geoNear()
il metodo del generatore di query non deve essere utilizzato su un campo. near()
è il metodo di creazione che seguirebbe un field()
messa a fuoco. Puoi vedere cosa fanno entrambi questi metodi di creazione in Builder.php
all'interno del progetto dottrina/mongodb. Nota che geoNear()
cambia il tipo di query (simile a cosa update()
fa). Il tipo di query viene quindi verificato in Query. php
(seguire l'istruzione switch) e determina come emettiamo la query sulla raccolta. Alcuni sono effettive operazioni di query, ma cose come map/reduce e geoNear sono comandi.
Verifica se il codice seguente funziona:
$dm->createQueryBuilder('MyBundle:Location')
->geoNear($geocodes['lat'],$geocodes['lon'])
->field('id')->in($arrayIds)
->getQuery()->execute()->toArray();
In caso contrario, eseguire il debug dei valori che Query.php passa alla Collection::near()
metodo. In alternativa, puoi eseguire il debug dell'intero array di query generato dal builder utilizzando Query::getQuery()
metodo.