猫鼬GeoNear

时间:2016-05-12 16:25:18

标签: node.js mongodb mongoose

我正在构建一个api但我现在被卡住了因为我找不到进行地理搜索的方法

这是模特

  var Event = new Schema({
    idactivites : {
      type: String,
      required: true,
      unique: true
    },

    nom: String,

    description: String,

    location : {
      type : {
      type: String,
      default: "Point"
       },

    coordinates : {
      type: [Number],
      index: '2d'
      }
    },

    created: {
      type: Date,
      required: false,
    },

    modified: {
      type: Date,
      default: Date.now
    }
  });

这是处理我的查询的代码的一部分

app.get('/api/geo_events', function(req, res) {


  var latitude = req.query.latitude;
  var longitude = req.query.latitude;
  var radius = req.query.radius/6371 || 5000/6371;

  var limit = parseInt(req.query.limit) || 20;

  if(latitude && longitude)
  {
    var q = EventModelModel.find({'location': {
      $near: [
          longitude,
          latitude
          ],
          $maxDistance: radius
        }
      });
  }

  return  q.exec(function (err, events) {
    if (!err) {
      return res.send(events);
    }
  });
});

我哪里错了? 我在这里没有包含错误的部分,但请放心,我的代码中有。

提前致谢, 雷米。

0 个答案:

没有答案