$maxDistance(地理空间)

适用对象: MongoDB vCore

$maxDistance 运算符用于地理空间查询,以指定两个点之间可存在的最大距离(以米为单位)。 它通常用于 $near 查找特定半径内的位置。

语法

$maxDistance 运算符的语法如下:

{
  <location field>: {
    $near: {
      $geometry: {
        type: "Point",
        coordinates: [<longitude>, <latitude>]
      },
      $maxDistance: <distance in meters>
    }
  }
}

参数

参数 类型 DESCRIPTION
location field 领域 包含地理空间数据的字段
coordinates 数组 指定中心点的 [经度, 纬度] 数组
$maxDistance 编号 距离中心点的最大距离(以米为单位)

示例:

stores使用集合,让我们在“VanArsdel 图片帧存储”的 10 KM 内查找所有商店:

db.stores.find({
  location: {
    $near: {
      $geometry: {
        type: "Point",
        coordinates: [-141.9922, 16.8331]  // VanArsdel Picture Frame Store location
      },
      $maxDistance: 10000  // 10 kilometers in meters
    }
  }
},
{
  name: 1,
  location: 1
})

此查询返回如下存储:

  • 第一优先顾问麦克风集市
  • Fabrikam Car 配件出口和其他商店在 10 KM 半径内。