Надеюсь, вы, ребята, можете помочь. Я довольно новичок в node.js/mongodb, и мне не удается передать переменные в запрос модели mongoose.Передача переменных в node.js mongoose find query
Если я запустил это, перейдя по долготе/широте (-0.18, 51.24) вручную в виде строк, то он отлично работает и возвращает много объектов из базы данных.
Venue.find({ location : { $nearSphere : [-0.18, 51.24], $maxDistance : 25/3959 } }, null, {limit: 50}, function(err, results){
results.forEach(function(result){
console.log('Found a record');
});
});
Однако, если я пытаюсь передать в этих координатах в качестве переменных в функцию, что это работает в нем не возвращает никаких результатов:
function generateWorld(get) {
console.log('Generating for x:' + get.longitude + ' y:' + get.latitude); // Console logs correct coords
Venue.find({ location : { $nearSphere : [get.longitude, get.latitude], $maxDistance : 25/3959 } }, null, {limit: 50}, function(err, results){
results.forEach(function(result){
console.log('Found a record'); // <-- This doesn't return any results!
});
});
}
Я уверен, «Я просто делал что-то не так, но я некоторое время царапаю голову над этим и не могу пройти мимо него. Любая помощь приветствуется!
Спасибо.
Попробуйте сделать get.longitude = parseFloat (get.longitude) и get.latitude = parseFloat (get.latitude) – alessioalex
Да! Это отлично сработало! –
Я поставил свой комментарий в ответ, чтобы вы могли его перенести и принять, так что другие люди знают, что это ответ. – alessioalex