MongoDB How to find which polygon contains a specified Point?
geo, geometry, mongodb, point
Solution
Use the $geoIntersects operator. It queries for all shapes which intersect the GeoJSON object you pass. When you pass a point to it, it should return all shapes which include that point. Keep in mind that the $geoIntersects operator only works for 2dsphere indexes, not for 2d indexes.
Problem
I insert many polygons into MongoDB(2.4.8), and hope find the polygon a specified Point sits in. It seems a common question. But after reading all docs from google, I didn't get the result. So create this question. e.g. ``` db.addr_poly.insert( { loc : { type : "Polygon" , coordinates : [ [ [ 0 , 0 ] , [ 3 , 6 ] , [ 6 , 1 ] , [ 0 , 0 ] ] ] } }) db.addr_poly.insert( { loc : { type : "Polygon" , coordinates : [ [ [ 0 , 0 ] , [ -3 , -6 ] , [ -6 , -1 ] , [ 0 , 0 ] ] ] } }) ``` Now how to find the polygon which contains Point(1,1)? Anybody can help me? Thanks a lot!