Mongo ODM near query不会填充距离属性。它是空的?

时间:2012-10-03 00:11:46

标签: php mongodb symfony doctrine-mongodb

根据Mongo ODM,在接近查询后应该能够获得距离:

http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/geospatial-queries.html#distance

当我使用文档中显示的near查询时,我能够获得结果但是距离永远不会被添加。

这是我的问题:

 $query = $dm->createQueryBuilder('SomeBundle:Blah')
        ->select('id', 'name', 'distance', 'propertyType', 'squareFootage')->field('coordinates')->near($latitude, $longitude);

$results = $query->getQuery()->execute();


foreach ($results as $city) {
    echo $city->name.': '.$city->distance."\n";
}

我的距离属性设置为:

   /** @MongoDB\Distance */
    public $distance;

我没有结果。 Mongo ODM有错误吗?

1 个答案:

答案 0 :(得分:0)

而不是使用

$query->near($latitude, $longitude);

你需要使用

$query->geoNear($latitude, $longitude)

如果你想要填充距离。