Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
Mongodb在[lng,lat]附近的线串$get点_Mongodb_Mongoose - Fatal编程技术网

Mongodb在[lng,lat]附近的线串$get点

Mongodb在[lng,lat]附近的线串$get点,mongodb,mongoose,Mongodb,Mongoose,我有一个包含行字符串的文档。是否可以基于一对坐标查找并返回线串中最近的点 db.paths.find( { loc : { $near : { $geometry : { type : "Point" , coordinates : [-73.965355,40.782865] }, $maxDistance : 20000 } } ); // My

我有一个包含行字符串的文档。是否可以基于一对坐标查找并返回线串中最近的点

db.paths.find( 
  { 
    loc : {
      $near : {
        $geometry : { 
          type : "Point" , 
          coordinates : [-73.965355,40.782865]  
        }, 
        $maxDistance : 20000
      }
  }
);



// My "path" document

loc:{
  "type": "LineString",
  "coordinates": [
    [-2.551082,48.5955632],
    [-2.551229,48.594312],
    [-2.551550,48.593312],
    [-2.552400,48.592312],
    [-2.553677, 48.590898]
  ]
}
从MongoDB v2.4(目前为v3.2)开始,
LineString
是受支持的GeoJSON对象之一。看

创建
loc
字段后,可以查询最近的点

使用示例文档,mongo shell查询将是:

db.path.find({
地点:{
$nearSphere:{
$geometry:{
键入:“点”,
座标:[-2.551010,48.59123]
}, 
$maxDistance:2000
} 
}
});
请注意,
$maxDistance
以米为单位。您的示例
find()
坐标远远超出您指定的最大距离


有关v3.2信息,请参阅或操作员

返回整个线字符串,而不是线字符串上的一个点。