У моего MongoDB есть этот документ, который представляет ресторан и зону покрытия доставки (GeoJSON):
{
"id": "1010",
"name": "Food In Box",
"coverageArea": {
"type": "MultiPolygon",
"coordinates": [
[
[
[-46.70103, -23.61731],
[-46.72086, -23.63517],
[-46.7357, -23.62738 ],
[-46.74618, -23.60575],
[-46.7557, -23.60855],
[-46.76999, -23.5987],
[-46.7721, -23.58224],
[-46.76326, -23.57079],
[-46.73433, -23.54613],
[-46.70644, -23.56163],
[-46.70335, -23.56973],
[-46.69073, -23.58475],
[-46.70103, -23.61731]
]
]
]
},
"address": {
"type": "Point",
"coordinates": [
-46.720875,
-23.584986
]
}
}
У меня есть точка (lng, lat) и мне нужно проверить, находится ли это местоположение внутризона покрытия ресторана.Я пробовал запрос с $ geoIntersects и $ geoWithin, но он не работает:
db.places.find({coverageArea: {$geoIntersects: {$geometry: {type : "Point",coordinates: [-22.989901, -43.380630]}}}})
У вас есть предложения?