2012-09-13 5 views
0

내 노드 응용 프로그램에 Express 프레임 워크를 사용하고 있습니다. 저는 그것에 대해 아주 익숙하기 때문에 "To-Do"응용 프로그램을 만들어서 그것에 대해 배울 것이라고 생각했습니다. 디버깅을 위해 만들어진 요청을 기록하려고합니다. 내가 갈 때 그래서 :Node.js로 console.log GET 요청

app.get('/todos/:id', function (req, res) { 
    var result = db.load(req.params.id); 
    result ? res.send(result) : res.send(404); 
}); 

나는) result이 동일 무엇을보고 싶어와 b) 내 db.load 방법에서 발생하는 로그 :

exports.load = function (id) { 
    todos.findOne({ id: id }, function (err, todo) { 
     if (!err) { 
      return todo; 
     } 
    }); 
} 

내가 액세스 할 수 mongolian 라이브러리를 사용하고 내 MongoDB 데이터. https://github.com/SteveSanderson/nodejs-webmatrix-video-tutorials

+0

질문은 무엇입니까 : 나는 스티브 샌더슨에 의해 예를 따랐습니다? 왜 당신이 묘사 한 것을 할 수 없는지는 명확하지 않습니다. – lanzz

+0

'console.log'를 넣을 때 어디에 놓았는지 나타나지 않습니다. 그래서'load' 메쏘드 나'get' 메쏘드에'console.log ("Hello")'를 넣을 수 있습니다. 아무 것도 나타나지 않습니다. – CallumVass

답변

2
app.get('/todos/:id', function (req, res) { 
    db.load(req.params.id, function(err, result) { 
     // also handle err 
     result ? res.send(result) : res.send(404); 
    }); 
}); 


exports.load = function (id, callback) { 
    todos.findOne({ id: id }, callback); 
} 
+1

질문자가 비동기 제어 흐름에 혼동을 일으킬 수 있으므로 답변에 몇 가지 설명을 추가하십시오. – lanzz

+0

'req.params.id'를 전달할 때 404를 얻지 만 값 (예 : 1)을 하드 코딩하면 해당 객체가 반환됩니다. 그 값을보기 위해'console.log (req)'를 넣으면 아무 것도 나타나지 않습니까? – CallumVass

+0

음 .. 나는 그것을 알아 냈다. 나는해야만했다 :'db.load (parseInt (req.params.id) ..' – CallumVass