Как я могу найти ограничивающую рамку, которая инкапсулирует конкретную точку? - PullRequest
2 голосов
/ 21 ноября 2011
[uppercaseName] => ATLANTA, GA
[description] => Atlanta, GA
[name] => Atlanta, GA
[_id] => MongoId Object (
)
[addedOn] => MongoDate Object (
    [sec] => 1318879015
    [usec] => 517000
)
[excludePoints] => Array (
)
[boundingBox] => Array (
    [0] => Array (
        [lon] => -84.516
        [lat] => 33.6747
    )
    [1] => Array (
        [lon] => -84.516
        [lat] => 33.8232
    )
    [2] => Array (
        [lon] => -84.2599
        [lat] => 33.8232
    )
    [3] => Array (
        [lon] => -84.2599
        [lat] => 33.6747
    )
)

Это мой документ (в MongoDB).У меня есть несколько таких документов, и я хочу выполнить запрос, чтобы найти все документы, которые имеют ограничивающий прямоугольник, который инкапсулирует эти конкретные Long и Lat.Как бы я это сделал?

1 Ответ

1 голос
/ 22 ноября 2011

К сожалению, в настоящее время это невозможно с MongoDB.MongoDB может индексировать точки и находить все документы внутри области, но не может индексировать области и запрашивать все документы, содержащие область, в которой находится точка выдачи.

Для этого есть запрос функции: https://jira.mongodb.org/browse/SERVER-2874

В настоящее время нет запланированной даты для этой функции.Пожалуйста, проголосуйте за это!

Для получения дополнительной информации о геопространственной индексации и возможностях, смотрите документацию MongoDB: http://www.mongodb.org/display/DOCS/Geospatial+Indexing

...