$centerSphere未返回任何geojson多边形(mongoDB)
我在下面的Mongo查询中遇到了很多问题$centerSphere未返回任何geojson多边形(mongoDB),mongodb,mongoose,polygon,geojson,point,Mongodb,Mongoose,Polygon,Geojson,Point,我在下面的Mongo查询中遇到了很多问题 location: { $geoWithin: { $centerSphere: [[lon,lat],radians] } } 由于某种原因,它只返回geoJSON点并忽略所有geoJSON多边形。各国: 可以在GeoJSON对象和传统坐标对上使用$centerSphere操作符 我使用Mongoose来运行查询,我的geoJSON由NPM模块从众所周知的文本转换而来。这就是众所周知的模块转换后my geoJSON的样子: "location":
location: { $geoWithin: { $centerSphere: [[lon,lat],radians] } }
由于某种原因,它只返回geoJSON点并忽略所有geoJSON多边形。各国:
可以在GeoJSON对象和传统坐标对上使用$centerSphere操作符
我使用Mongoose来运行查询,我的geoJSON由NPM模块从众所周知的文本转换而来。这就是众所周知的模块转换后my geoJSON的样子:
"location": {
"coordinates": [
22.1,
33.3
],
"type": "Point"
}
及
我的猫鼬模式定义为:
location: {
type: schema.Types.Mixed,
index: '2dsphere',
required: false
}
我应该补充一点,withinPolygon方法按预期工作,我得到了返回的点和多边形。以下操作非常有效:
location: { $geoWithin: { $geometry: geoJSON } }
谢谢你的帮助。我已经阅读了文档,没有看到任何地方提到$centerSphere只返回geoJSON点。最近发布的MongoDB版本3.6.0-rc0,现在可以使用地理空间操作符查询geoJSON线字符串和多边形 另请参阅有关更新的更多信息
location: { $geoWithin: { $geometry: geoJSON } }