2013-05-12 2 views
0

MongoClient를 통해 mongo에 대한 노드 연결을 둘러 보려고합니다. 내가 할 수있는 한 멀리 Mongo에 연결하고 데이터를 가져 와서 JSON으로 인코딩하는 중입니다. 노드가 아직 실행 중일 때 브라우저 에 데이터를 출력 할 수 없으므로이 예에서는 표시되지 않습니다.. 나는 문제를 제시하기 위해 모든 것을 제거했습니다. 코드에서 "연결"이 콘솔에 기록되지만 브라우저가 멈 춥니 다. 노드 인스턴스 인 을 종료하면 "wtf"가 브라우저 창에 기록됩니다. 나는 노드 newb이므로 어떤 도움을 주셔서 감사합니다.newb node.js mongo 브라우저에 쓰십시오.

var http = require("http"); 
var MongoClient = require('mongodb').MongoClient; 

start(); 

function start() { 
    function onRequest(request, res) { 
     console.log("request"); 
     var mongoclient = MongoClient.connect("mongodb://localhost:27017/first", function(err, db) { 
      if(!err) { 
       console.log("the connection"); 
       res.writeHead(200, {"Content-Type": "text/plain"}); 
       res.write("wtf"); 
       res.end; 
      } else { 
       console.log(err); 
      } 
     }); 
    } 
    http.createServer(onRequest).listen(1337, '127.0.0.1'); 
    console.log('Server running at http://127.0.0.1:1337/'); 
} 

답변

1

코드는 단순 오타가 포함되어 당신이 응답을 종료하지 않으면 res.endres.end()

을해야 제대로 브라우저 (일부 타임 아웃이 발생할 때까지)이처럼 보이는 어떤 일이 기다리고 유지 교수형. Node를 중지하면 보류중인 연결은 내부 정리의 일부로 닫히게되고 브라우저는 그 이유 때문에 응답을 보게됩니다.

+0

감사했습니다. 이제 전체 코드가 작동하는지 확인하십시오. – openquestions

관련 문제