$center

$center 运算符使用要用于查询的 $geoWithin 旧坐标对指定圆圈。 它为平面、欧克里丹平面上的地理空间查询定义圆圈。

语法

{
  $geoWithin: {
    $center: [ [ <x>, <y> ], <radius> ]
  }
}

参数

参数 DESCRIPTION
<x> 圆中心点的 x 坐标
<y> 圆中心点的 y 坐标
<radius> 圆的半径与坐标的单位相同

示例:

让我们使用数据集 stores 在“第一次向上顾问麦克风集市”的 50 度半径内查找所有商店。

db.stores.find(
  {
    location: {
      $geoWithin: {
        $center: [[-112.7858, -29.1866], 50]
      }
    }
  },
  {
    name: 1,
    city: 1,
    location: 1,
    _id: 0
  }
).limit(2)

该查询返回第一个 Up 顾问麦克风集市位置的 50 度半径内的存储,这对于分析市场覆盖范围或规划交付路线很有用。

  {
    "name": "Contoso, Ltd. | Baby Products Corner - Port Jerrold",
    "location": { "lat": -72.7709, "lon": -24.3031 },
    "city": "Port Jerrold"
  },
  {
    "name": "VanArsdel, Ltd. | Smart Home Closet - Trystanport",
    "location": { "lat": -64.5509, "lon": -28.7144 },
    "city": "Trystanport"
  }

重要

作员 $center 在一架平整的欧克里丹飞机上工作。

对于更准确的地球样球面计算,请改用 $centerSphere

半径以与所使用的坐标系相同的单位指定。