У меня есть коллекция с вложенным массивом многоугольников, сохраненная в указанном ниже формате:
_id: ObjectId("...."),
"attributes": {
"zones": [
{
"zoneName": "...",
"zoneLocs" : [
{
"type" : "Polygon",
"coordinates" : [[...]]
}
....
]
}
....
]
}
Я хочу выполнить поиск геоджона в этой коллекции, где я передаю точку и максимальное расстояниезначение и вытащите все документы, которые имеют многоугольник в закрытой области.
Я попытался сделать это, используя $ elemMatch, $ geoWithin и $ center.Мой последний запрос выглядел следующим образом, но не принес никаких результатов, хотя в области включения были полигоны:
{
"attributes.zones": {
"$elemMatch":{
"zoneLocs": {
"$elemMatch" : {
"$geoWithin": {
"$center" : [
[
-104.84127910390623,
39.820705065855044
],
100000
]
}
}
}
}
}
}
Я создал индекс 2dsphere для пути attribute.zones.zoneLocs,но пока не повезло.Любая помощь будет принята с благодарностью.