我試圖從外部JSON提要中抓取數據並將其存儲在我的mongoDB中。mongoose findone回調範圍(NodeJS,快速)
request(url, function (error, response, body) {
if (!error && response.statusCode == 200) {
var jsonObj = JSON.parse(body);
// console.log(jsonObj.events[1].id) <-- this works
for (var i = 0; i < jsonObj.events.length; i++) {
// add jsonObj.events[i] as a new record to table
// console.log(jsonObj.events[i].id) <-- this works
Wnet.findOne({ id : jsonObj.events[i].id }, function (err, doc){
if (err || doc == null) {
// console.log(jsonObj.events[i].id) <-- this doesn't work!
// record is new, add it
}
});
}
}
});
通知的console.log
語句...最後一個(內.findOne
的回調)不起作用。
我仍然在學習JavaScript的來龍去脈,但我認爲這是一個範圍問題......回調函數不知道jsonObj。但是,我不知道如何將它傳遞給函數。
退一步,我試圖檢查收集的存在的記錄。如果找不到它,我想從抓取的JSON數組中添加記錄。如果有更好的方法來做到這一點,我很樂意幫助你找到它。
謝謝馬歇爾!這是一個很好的解釋,謝謝你讓我挺直。第二個是有道理的,我也需要一些時間來指導綁定方法。 – Ghan 2012-02-24 00:14:30