直接使用时正确排序
db.users.find({currentloc : {$nearSphere : [115.22804,-8.69914]}})
但是当从PHP执行时,它看起来像按_id
排序$users = $this->m->mappt->users;
$results = $users->find(
array(
'currentloc' => array('$nearSphere' => array(115.22804,-8.69914))
);
$arrayresult = iterator_to_array($results);
任何想法?
答案 0 :(得分:0)
Adi,您可以从Here获得想法。您可以尝试为 geo 值使用变量名称。
其他尝试这样,
$collection->find(Array("point" => Array('$within' => Array('$center'=> Array(Array(151.1955562233925,-33.87107475181752), 0.1/111 ) ) )));
答案 1 :(得分:0)
您的查询看起来很好。我能想到一些事情:
2dsphere
索引,你可以从shell获得iterator_to_array()
正在搞乱它 - 如果你做了正常的foreach()
,那么你能按照正确的顺序得到它们吗?