MongoDB에 단일 연결을 만들고 전역 변수로 돌아 오는 응답 (데이터베이스)을 저장하려고하므로 별도의 JS 파일에서 다시 사용할 수 있습니다. (내 경로에 대한 별도의 파일처럼). 나는이 문서를 예제로 따르고있다 : https://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html#mongoclient-connection-pooling.Node.js + MongoDB 전역 변수 및 범위
첫 번째 시도 : var에 MongoDB를 = 필요 ('MongoDB를'), MongoClient = mongodb.MongoClient, MongoURL = "my_mongodb_url : 포트/데이터베이스 _", global.db;
MongoClient.connect(MongoURL, function(err, database) {
db = databse;
console.log(db); // shows stuff
}
console.log(global.db); // shows undefined
일부 연구를 통해 문제에 대한 해결책을 찾았습니다. 전역 접두사가있는 노드에 전역 변수를 만듭니다. 하지만 여전히
두 번째 시도 ... 작동하지 않습니다 :
var mongodb = require('mongodb'),
MongoClient = mongodb.MongoClient,
MongoURL = "my_mongodb_url:port/database_name",
global.db;
MongoClient.connect(MongoURL, function(err, database) {
global.db = databse;
console.log(db); // shows stuff
}
console.log(global.db); // shows undefined
위의 모든 같은 파일 [app.js]에 넣어 코드입니다. MongoClient의 범위와 관련이 있다고 생각합니다. 그러나 나는 확실하지 않다. 이 일을 할 수있는 방법이 있습니까?
나는 그것이 많은 의미가 있다는 것을 알았다! 나는 실제로 다른 모듈, 예를 들어 내가 db 변수를 사용할 라우트 모듈로 작업하고있다. 나는 "수출"을 읽을 것이다. 고마워. :-) –