Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$centerSphere未返回任何geojson多边形(mongoDB)_Mongodb_Mongoose_Polygon_Geojson_Point - Fatal编程技术网

$centerSphere未返回任何geojson多边形(mongoDB)

$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":

我在下面的Mongo查询中遇到了很多问题

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 } }