geoNear() metoda tvůrce dotazů není určena k použití v poli. near() je metoda stavitele, která bude následovat po field() zaměřit se. Co dělají obě tyto metody builderu, můžete vidět v Builder.php
v rámci projektu doctrine/mongodb. Všimněte si, že geoNear() změní typ dotazu (podobně jako update() dělá). Typ dotazu je poté zkontrolován v Query. php
(podle příkazu switch) a určuje, jak zadáme dotaz na kolekci. Některé jsou skutečné operace dotazů, ale věci jako map/reduce a geoNear jsou příkazy.
Podívejte se, zda funguje následující kód:
$dm->createQueryBuilder('MyBundle:Location')
->geoNear($geocodes['lat'],$geocodes['lon'])
->field('id')->in($arrayIds)
->getQuery()->execute()->toArray();
Pokud ne, odlaďte prosím hodnoty, které Query.php předává do Collection::near() metoda. Případně můžete odladit celé pole dotazů vygenerované tvůrcem pomocí Query::getQuery() metoda.