Node.js 애플리케이션에서 MongoDB 연결 재사용
Node.js 애플리케이션에서 데이터베이스 연결을 효율적으로 관리하는 것은 성능과 확장성을 위해 매우 중요합니다. 모범 사례 중 하나는 애플리케이션 전체에서 동일한 MongoDB 연결을 공유하여 다중 연결을 방지하고 효율성을 높이는 것입니다. 그러나 이에 대한 최적의 접근 방식은 혼란스러울 수 있습니다.
제안 접근 방식 및 단점
제안된 접근 방식 중 하나는 기본 server.js 파일에 데이터베이스 연결을 설정하는 것입니다. 연결 개체를 다른 모듈에 전달합니다. 이 접근 방식은 모듈 내에서 연결을 재사용하고 열린 상태로 유지할 수 있다는 장점이 있습니다. 그러나 다음과 같은 몇 가지 문제도 발생합니다.
모듈을 사용한 향상된 접근 방식
위의 접근 방식을 향상하려면 , 연결 프로세스를 캡슐화하고 MongoDB 데이터베이스 인스턴스를 검색하는 방법을 제공하는 전용 데이터베이스 유틸리티 모듈을 생성하는 것이 좋습니다.
다음은 이러한 모듈의 예입니다(mongoUtil.js):
const MongoClient = require('mongodb').MongoClient; const url = "mongodb://localhost:27017"; var _db; module.exports = { connectToServer: function( callback ) { MongoClient.connect( url, { useNewUrlParser: true }, function( err, client ) { _db = client.db('test_db'); return callback( err ); } ); }, getDb: function() { return _db; } };
app.js에서 데이터베이스에 연결하고 애플리케이션을 시작할 수 있습니다.
var mongoUtil = require('mongoUtil'); mongoUtil.connectToServer( function( err, client ) { if (err) console.log(err); // start the rest of your app here } );
다른 모듈 내에서 다음과 같이 데이터베이스 인스턴스에 액세스할 수 있습니다.
var mongoUtil = require('mongoUtil'); var db = mongoUtil.getDb(); db.collection('users').find();
이점:
위 내용은 Node.js 애플리케이션에서 MongoDB 연결을 효율적으로 재사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!