【发布时间】:2012-01-17 22:01:36
【问题描述】:
我已经设置了一个类,如
http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/geospatial-queries.html
我的二维索引在 mongo 中设置正确
> db.system.indexes.find()
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "pfcd_dev.media", "name" : "_id_" }
{ "v" : 1, "key" : { "_id" : 1 }, "ns" : "pfcd_dev.events", "name" : "_id_" }
{ "v" : 1, "key" : { "coordinates" : "2d" }, "ns" : "pfcd_dev.events", "name" : "coordinates_" }
当我在 mongo shell 上运行以下命令时,会返回大量结果。
db.runCommand( { geoNear : "events" , near : [50,60], num : 10 } )
我已经为near() 尝试了以下所有变体,都返回零结果
$places = $this->dm->createQueryBuilder('\Application\Event')->field('coordinates')->near('[50,60]')->getQuery()->execute();
$places = $this->dm->createQueryBuilder('\Application\Event')->field('coordinates')->near('50,60')->getQuery()->execute();
$places = $this->dm->createQueryBuilder('\Application\Event')->field('coordinates')->near(50,60)->getQuery()->execute();
$places = $this->dm->createQueryBuilder('\Application\Event')->field('coordinates')->near(array(50,60))->getQuery()->execute();
Doctrine 网站上的文档似乎有点不对劲。仅作记录,我创建了一个显示我的课程的要点(经过整理)。 https://gist.github.com/1627491
这是debug()的输出
$this->dm->createQueryBuilder('\Application\Event')->field('coordinates')->near('50,60')->debug();
Array
(
[type] => 10
[mapReduce] => Array
(
[map] =>
[reduce] =>
[options] => Array
(
)
)
[near] => Array
(
[coordinates] => 50,60
)
)
【问题讨论】:
标签: mongodb doctrine geospatial