sql >> Databasteknik >  >> NoSQL >> MongoDB

Fel avstånd i geonear-metoden med Doctrine MongoDB ODM

geoNear() frågebyggarmetoden är inte avsedd att användas på ett fält. near() är byggmetoden som skulle följa ett field() fokus. Du kan se vad båda dessa byggmetoder gör i Builder.php inom doktrin/mongodb-projektet. Observera att geoNear() ändrar frågetypen (liknande vad update() gör). Frågetypen kontrolleras sedan i Query. php (följ switch-satsen) och bestämmer hur vi skickar frågan på samlingen. Vissa är faktiska frågeoperationer, men saker som map/reduce och geoNear är kommandon.

Se om följande kod fungerar:

$dm->createQueryBuilder('MyBundle:Location')
    ->geoNear($geocodes['lat'],$geocodes['lon'])
    ->field('id')->in($arrayIds)
    ->getQuery()->execute()->toArray();

Om inte, felsök värdena som Query.php skickar till Collection::near() metod. Alternativt kan du felsöka hela frågeuppsättningen som skapats av byggaren genom att använda Query::getQuery() metod.




  1. MongoDB - stängs av med kod:62

  2. Finns det något sätt att "snyggt" skriva ut MongoDB-skalutdata till en fil?

  3. hur man lagrar ett komplext objekt i redis (med redis-py)

  4. Mongoose-egenskapen 'x' finns inte på typen 'Dokument'