我是mongodb地理空间查询的新手,我尝试在多边形中搜索具有如下代码的点:
db.properties.find({
location:{
$geoWithin : {
$geometry : {
type:"Polygon",
coordinates: [[
[104.9172382, 11.57934524],
[104.9146632, 11.5724502],
[104.92753788, 11.57976566]
]]
}
}
}
})
我想得到所有点的结果都在polygon.but我真的没有线索
此错误总是弹出
| ____ / Mongo服务器错误(MongoQueryException):查询失败 错误代码2和错误消息'循环未关闭:[[104.9172382, 11.57934524],[104.9146632,11.5724502],[104.92753788,11.57976566]]'在服务器上
感谢任何想法!
答案 0 :(得分:1)
我发现答案是我们需要开始坐标,而近距坐标是相同的值。
db.properties.find({
location:{
$geoWithin : {
$geometry : {
type:"Polygon",
coordinates:[
[
[ 104.9212999921292 , 11.575955591122819 ] , // start loop
[ 104.92129194550216 , 11.575198826419006 ] ,
[ 104.92298978380859 , 11.575238241297862 ] ,
[ 104.92291736416519 , 11.576023910057827 ] ,
[ 104.9212999921292 , 11.575955591122819 ] // close loop
]
]
}
}
}
})