geoNear没有返回任何结果,尽pipe项目在范围内(mongoose)

所以这里是我的模型:

const mongoose = require('mongoose'); const Schema = mongoose.Schema; // create geolocation Schema const GeoSchema = new Schema({ type: { type: String, default: "point" }, coordinates: { type: [Number], index: "2dsphere" } }); // create ninja Schema & model const NinjaSchema = new Schema({ name: { type: String, required: [true, 'Name field is required'] }, rank: { type: String }, available: { type: Boolean, default: false }, geometry: GeoSchema }); const Ninja = mongoose.model('ninja', NinjaSchema); module.exports = Ninja; 

我也有一个控制器方法,经纬度作为参数传入:

 router.get('/ninjas', function(req, res, next){ Ninja.geoNear( {type: "Point", coordinates: [parseFloat(req.query.lng), parseFloat(req.query.lat)]}, {maxDistance: 100000, spherical: true} ).then(function(ninjas){ res.send(ninjas); }); }); 

但是,当我通过一个75经度和50长的请求发送一个请求,例如,没有项目被返回。 这使我感到困惑,因为数据库中存在一个长度为80的lat。