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