📌  相关文章
📜  Query.prototype.centerSphere() 如何在Mongoose中工作?(1)

📅  最后修改于: 2023-12-03 15:34:34.783000             🧑  作者: Mango

Query.prototype.centerSphere() 介绍

Query.prototype.centerSphere() 是 Mongoose 查询器的一种方法,用于查找圆形区域内的文档。该方法针对 MongoDB 的 geoSearch 操作,可用于查询地理位置数据。

使用 centerSphere() 方法,需要查询的字段必须是一个包含位置信息的 GEOJSON 对象。

使用方法

下面是使用 centerSphere() 查询 MongoDB 中一个圆形区域内的文档的示例代码:

MyModel.find({
  location: {
    $geoWithin: {
      $centerSphere: [[-73.9667, 40.78], 10 / 3963.2] // 圆心坐标和半径(以英里为单位)
    }
  }
}).exec(callback);

以上代码意为查询 MyModel 集合中,location 字段包含在圆心坐标为 [-73.9667, 40.78],半径为 10 英里(以地球大圆半径 3963.2 英里为单位) 的圆形区域内的文档。

返回值

centerSphere() 方法返回一个 Mongoose 查询对象,可通过该对象的各种方法进一步操作与该查询相关的文档。

注意事项
  • centerSphere() 方法只能用于查询包含位置信息的 GEOJSON 对象;
  • 圆形半径必须使用标准单位(如英里、米等),而非代表距离的度数;
  • centerSphere() 的第一个参数是一个二元数组,表示圆心坐标;
  • centerSphere() 的第二个参数是一个数字,表示半径。