MongooseのgeoNearメソッドの使用について


背景
最近MEANを勉強していて、Simon HelmesのGetting MEAN with Mongo, Express, ANgular, and Nodeという本を読んでいます.ここで、Chapter 8 Adding Angular components to an Expressアプリケーションには、MongoosegeoNearメソッドの使用が含まれる.しかし、自分が著者の方法でテストを行ったところ、希望の結果を出力できないことに気づいた.関連研究によって解決策が見つかったので,分かち合う.
に質問
著者らは,ブラウザのnavigator.geolocationを介してAPIインタフェースに緯度座標を送信し,次いでバックグラウンドでMongoosegeoNearメソッドを用いて,データベースからターゲット座標に近いデータをプッシュすることを実証した.バックグラウンドのMongoからの数の大まかなコードは以下の通りです.
/* GET list of locations */
module.exports.locationsListByDistance = function(req, res) {
  var lng = parseFloat(req.query.lng);
  var lat = parseFloat(req.query.lat);
  var maxDistance = parseFloat(req.query.maxDistance);
  var point = {
    type: "Point",
    coordinates: [lng, lat]
  };
  var geoOptions = {
    spherical: true,
    maxDistance: theEarth.getRadsFromDistance(maxDistance),
    num: 10
  };
  if ((!lng && lng!==0) || (!lat && lat!==0) || ! maxDistance) {
    // ...
  }
  Loc.geoNear(point, geoOptions, function(err, results, stats) {
    // ...
  });
};

ここで,著者らは,maxDistanceデータをキロ単位で入力し,アークに変換し,アークをパラメータとしてgeoNearに伝達することを意味する.しかし、得られた結果、確かにデータ出力はありません.
解決する
検索した結果、Mongoでは次のように定義されています.
2dsphere Index
If using a 2dsphere index, you can specify either a GeoJSON point or a legacy coordinate pair for the near value.You must include spherical: true in the syntax.With spherical: true, if you specify a GeoJSON point, MongoDB uses meters as the unit of measurement:
db.runCommand( {
   geoNear:  ,
   near: { type: "Point" , coordinates: [  ] } ,
   spherical: true,
   ...
} )

With spherical: true, if you specify a legacy coordinate pair, MongoDBuses radians as the unit of measurement:
db.runCommand( {
   geoNear:  ,
   near: [  ],
   spherical: true,
   ...
} )

本の中のソースコードは確かにGeoJSONのフォーマットですが、なぜ著者はメートルではなく弧を使ったのでしょうか.Mongooseバージョン3.9.5Mongoのこの設定をサポートしていた.原文は以下の通り.
3.9.5/2014-11-10 fixed; geoNear() no longer enforces legacy coordinate pairs - supports GeoJSON #1987 alabid
作者が本を书く时、まだOKを使っていたのかもしれませんが、后でバージョンが更新され、设定が失効しました.
解決する
したがって、著者の元の考え方に従って、コードは次のように変更する必要があります.
/* GET list of locations */
module.exports.locationsListByDistance = function(req, res) {
    // ...
    var geoOptions = {
        spherical: true,
        maxDistance: maxDistance * 1000,    //