我希望你們能幫忙。我對node.js/mongodb相當陌生,而且我無法將變量傳遞給mongoose模型查詢。將變量傳遞到node.js中mongoose find查詢
如果我運行這個,手動傳遞經度/緯度(-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 2011-12-23 12:18:48
是的!這很有效,謝謝你! – 2011-12-24 09:16:25
我已將我的評論置於答案中,以便您可以贊成並接受它,所以其他人知道它已被回答。 – alessioalex 2011-12-25 20:24:14