2
我已经成立了一个班作为
http://www.doctrine-project.org/docs/mongodb_odm/1.0/en/reference/geospatial-queries.html什么是Doctrine ODM地理空间查询的正确查询?
我的2D指数描述中正确设置蒙戈
> 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_" }
当我运行在蒙戈外壳下面的命令,我得到了很多结果,返回。
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();
学说上的网站的文件似乎是有点过。为了纪录,我已经创建了一个展示我的课程的要点(trucated)。 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
)
)
我没有试图消除延伸基地,但我很好奇,为什么会影响查询的结果。 Base是我为了处理所有模型通用的一些简单操作而创建的Abstract类。我能够对ODM运行其他查询并取得巨大成功。 – 2012-01-26 18:25:57
你已经赢得了自己的+50分,我很乐意给予。您提供的解决方案非常完美。休息一天休息。 – 2012-01-26 18:35:19
要更清楚,查询工作得很好,但我没有摆脱或'扩展基地' – 2012-01-26 18:45:47