Я использую Laravel 5 с базой данных mongo Db. Я использовал пакет jenssegers/laravel-mongodb для всех связанных с mongo функций. Все работает нормально.Mongo db geo около не работает в laravel
Но когда я попробовал geonear в соответствии с информацией, предоставленной по этой ссылке ([Geo near query link] [1]) of mongodb. Я отлично работаю. Я использовал следующий запрос, чтобы получить расстояние между всеми записями моей коллекции.
Команда: -
({ geoNear: "sale_event",
near: {
type: "Point",
coordinates: [ 76.7171945,30.7291196 ]
},
spherical: true,
})
этот запрос работает нормально в командной строке и дает мне дистанцию с результатом: -
{
"results" : [
{
"dis" : 0,
"obj" : {
"_id" : ObjectId("568e01fc04896fcd208b4575"),
"seller_rating" : "4.5",
"latLong" : [
76.7171945,
30.7291196
],
"description" : "Where'd",
"updated_at" : ISODate("2016-01-07T06:13:16.152Z"),
"created_at" : ISODate("2016-01-07T06:13:16.150Z")
}
},
{
"dis" : 244708.75191385587,
"obj" : {
"_id" : ObjectId("568e01eb04896fcd208b4574"),
"seller_rating" : "4.5",
"latLong" : [
77.0999578,
28.5561624
],
"description" : "Where'd",
"updated_at" : ISODate("2016-01-07T06:12:59.263Z"),
"created_at" : ISODate("2016-01-07T06:12:59.261Z")
}
}
],
"stats" : {
"nscanned" : 20,
"objectsLoaded" : 2,
"avgDistance" : 122354.37595692794,
"maxDistance" : 244708.75191385587,
"time" : 3
},
"ok" : 1
}
Но когда я использовал ту же команду в Laravel он не дает мне тот же результат: -
Я добавил следующий метод для запуска той же команды.
$r = DB::command(array('geoNear' => "sale_events",
'near' => array('type' => "Point", 'coordinates' => array('76.7171945','30.7291196')), 'spherical' => true));
Это дает мне следующий результат: -
Array
(
[ok] => 0
[errmsg] => can't find ns
)
Пожалуйста, помогите мне, как я могу получить расстояние в Laravel по широте и долготе с MongoDB в Laravel.