내 JS는 노드에서 이상한 범위 동작 또는 내가 자고 있습니까? 다음과 같이
/*
* GET home page.
*/
var MongoClient = require('mongodb');
exports.index = function(req, res){
var studentObj = {};
MongoClient.connect("mongodb://localhost:27017/MY_DB_TEST", function(err, db) {
if(!err) {
console.log("We are connected");
var collection = db.collection('test');
var stream = collection.find().stream();
stream.on("data", function(item){
studentObj = item;
});
}
});
res.render('index', { title: 'Express', obj: studentObj });
};
내가
옥, 그 내 구문은,이 페이지를 렌더링하는 시도입니다
h1 Name: #{obj.name}
내 JSON : (MongoDB의에서 가져온)
{
name: "Ron",
age: 24
}
내 studentObj를 glo로 유지하면 작동하지 않습니다. 변수, 즉 require
문 뒤에옵니다.
또한 obj.name
은 첫 번째 요청시 렌더링되지 않으며 두 번째 요청의 경우에만 이름 속성을 얻습니다.
왜 이러한 문제가 발생합니까? 나는 아주 사소한 것을 놓치고 있는가?
+1 비동기는 여기에 키워드입니다. – Lekensteyn
비동기! * 자아에 대한 참고 사항 * –