私は近くの場所を照会するためにphpを使用しています。
私はmongoDBに次のgeoJSONを持っています
{
"_id": {
"$oid": "dsfsdfsdfsdfsdfsdfsdf"
},
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
125.6342343431232,
10.121543413333423
]
},
"properties": {
"name": "Any Place"
}
}
ポイントについて近くの場所を照会したいのですが、phpにインデックスがあります
$collection->ensureIndex(array("geometry" => "2dsphere"));
私のクエリは次のとおりです。
$arr = $collection->find(array('geometry' =>array('near'=>array("geometry"=>array("type"=>"Point","coordinates"=>$longLat),'minDistance' => 1000,'maxDistance' => 5000 ) ), ));
var_dump($arr->explain());
$arr->explain() は私に望ましい結果を与えていません。誰かが助けることができれば、何がうまくいかないのですか。
以下が結果です
array (size=15)
'cursor' => string 'BasicCursor' (length=11)
'isMultiKey' => boolean false
'n' => int 0
'nscannedObjects' => int 5
'nscanned' => int 5
'nscannedObjectsAllPlans' => int 5
'nscannedAllPlans' => int 5
'scanAndOrder' => boolean false
'indexOnly' => boolean false
'nYields' => int 0
'nChunkSkips' => int 0
'millis' => int 0
'indexBounds' =>
array (size=0)
empty
'allPlans' =>
array (size=1)
0 =>
array (size=5)
'cursor' => string 'BasicCursor' (length=11)
'n' => int 0
'nscannedObjects' => int 5
'nscanned' => int 5
'indexBounds' =>
array (size=0)
...
'server' => string 'h0043434.mongolab.com:43434' (length=26)
'BasicCursor' を返していますが、代わりに 'S2Cursor' を与える必要があります