$minDistance(地理空间)

适用对象: MongoDB vCore

运算符 $minDistance 用于地理空间查询,以指定必须存在于两个点之间的最小距离(以米为单位)。 它可用于查找特定半径外的位置。

语法

$minDistance 运算符的语法如下:

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

参数

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

示例:

stores使用集合,让我们找到距离 Proseware 家庭娱乐中心至少 500 公里的商店:

db.stores.find({
  location: {
    $near: {
      $geometry: {
        type: "Point",
        coordinates: [69.7296, 70.1272]  // Proseware Home Entertainment Hub location
      },
      $minDistance: 500000  // 500 kilometers in meters
    }
  }
},
{
  name: 1,
  location: 1
})

此查询将返回如下存储:

  • 第四咖啡转盘精品
  • Wide World Importers Headphone Corner 和其他商店超过 500 公里半径。