я могу получить мои элементы, с помощью следующего кода:
$lines = $loc->find(
array("loc" =>
array('$near' =>
array('$geometry' =>
array('type' => 'Point', 'coordinates' =>
array(floatval($longitude), floatval($latitude))
),
'$maxDistance' => 10000 //meters
)
)
)
);
Это результаты:
Array
(
[_id] => MongoId Object
(
[$id] => 5490003c815289663d8bbd95
)
[name] => My adress
[loc] => Array
(
[type] => Point
[coordinates] => Array
(
[0] => 5.050948
[1] => 45.040419
)
)
)
Но теперь, мне нужно, чтобы получить расстояние от моей заданной точки.
Возможно ли это?
EDIT:
Это код, используемый для вставки ДАННЫЕ:
$loc = $client->localisation->localisation;
$loc->ensureIndex(array("loc" => "2dsphere"));
$loc->insert(
array(
"idobject" => $myValue
"name" => $myName
"loc" => array("type" => "Point", "coordinates" => array($longitude, $latitude))
));
Спасибо, но я получаю эту ошибку: исключения: geoNear команды не удалась: {ОК: 0,0, ErrMsg: «не может получить бегун запрос»} – bahamut100
@ bahamut100 ли вы, возможно, есть более чем один геопространственной индекс коллекции ? Обратите внимание, что эти формы не указывают поле, потому что они ожидают присутствия только одного индекса. –
> Я отредактировал свое сообщение, чтобы добавить способ, которым я вставлял данные – bahamut100