Я создал фиктивную коллекцию месторасположения с парой документов:
{
"_id": ObjectId("56b1c6c32798710b058b4568"),
"title": "place1",
"coords": {
"lng": -77.0057694,
"lat": 38.8844788
}
}
{
"_id": ObjectId("56b1c8032798710c058b4567"),
"title": "place2",
"coords": {
"lng": -77.042787,
"lat": 38.926703
}
}
Поле "Coords" имеет индекс в 2d:
/** locations indexes **/
db.getCollection("locations").ensureIndex({
"coords": "2d"
},[
]);
следующий запрос возвращает 0 результатов, хотя я ожидаю, что он вернет оба документа:
{
"coords": {
"$near": {
"lng": -77.023362,
"lat": 38.901002
},
"$maxDistance": 0.002
}
}
Расстояние между точками в обоих документах составляет около 6 км, тогда как точка в запросе находится в середине их, и $ maxDistance составляет около 13 км (13/6391 ~ = 0,002 радиан)
Любые идеи, почему это не работает?
MongoDB v. 3.0.1