0
我有以下查詢:貓鼬 - 查詢沒有返回
app.get('/matches/:latMin/:latMax/:lonMin/:lonMax', function(req, res){
var matches = City.find({
"latitude": {$gt : String(req.param.latMin), $lt : String(req.params.latMax) },
"longitude" : {$gt : String(req.param.lonMin), $lt : String(req.param.lonMax)}
});
matches.exec(function(err, match){
if(err){
console.log(err);
return res.send(err);
}
console.log(match);
res.json(match);
});
});
這裏是我的架構:
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
module.exports = mongoose.model('City', new Schema({
zip : {type : String, default: ''},
latitude : {type : String, default: ''},
longitude : {type: String, default: ''},
city : {type: String, default: ''},
state : {type: String, default: ''},
county : {type: String, default: ''}
}), 'locations');
當我運行在蒙戈外殼查詢,預期結果發送。但是,上述引號中的日誌返回[]。我在這裏有什麼問題嗎?
不應該將它們轉換爲String來轉換'req.param.latMin','req.param.latMax'等來代替數字(這他們已經是)? – JohnnyHK
我直覺地認爲你的lon,lat是數字,你想要做$ gt,$ lt的數字嗎? –
對,爲什麼你將文檔中的「緯度」和「經度」值存儲爲字符串而不是數字? – JohnnyHK