Node.js 모듈 전체에서 데이터베이스 연결을 효율적으로 공유하려면 어떻게 해야 합니까?

Linda Hamilton
풀어 주다: 2024-11-16 17:37:03
원래의
835명이 탐색했습니다.

How Can I Efficiently Share Database Connections Across Node.js Modules?

Node.js 애플리케이션과 모듈 전체에서 데이터베이스 연결 공유

Node.js 애플리케이션이 원활하게 작동하려면 일관된 데이터베이스 연결을 유지하는 것이 중요합니다. 연결을 여러 번 다시 설정할 필요가 없도록 하려면 서로 다른 모듈 간의 연결 공유를 보장하는 전략을 구현하는 것이 중요합니다.

원래 쿼리에 설명된 접근 방식은 데이터베이스를 관리하는 중앙 개체 생성과 관련됩니다. 모듈에 대한 연결 및 배포에 결함이 있습니다. 대신 모듈 기반 솔루션을 사용하는 것이 좋습니다.

mongoUtil 모듈

이 모듈은 데이터베이스 연결 관리를 위한 중앙 저장소 역할을 합니다. MongoDB에 대한 연결 설정과 데이터베이스 인스턴스 검색을 위한 기능을 정의합니다.

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에서의 사용법

기본 애플리케이션 파일인 app.js에서 mongoUtil 모듈은 다음과 같습니다. 가져오면 connectToServer 함수가 호출되어 데이터베이스 연결을 설정합니다.

var mongoUtil = require( 'mongoUtil' );

mongoUtil.connectToServer( function( err, client ) {
  if (err) console.log(err);
  // start the rest of your app here
} );
로그인 후 복사

다른 파일의 데이터베이스 액세스

다른 모듈이나 파일에서 mongoUtil 모듈을 가져와서 공유 파일을 검색할 수 있습니다. getDb 함수를 사용하는 데이터베이스 인스턴스.

var mongoUtil = require( 'mongoUtil' );
var db = mongoUtil.getDb();

db.collection( 'users' ).find();
로그인 후 복사

이 모듈 기반 접근 방식을 활용하면 여러 연결이나 잠재적인 연결 없이도 애플리케이션 내의 모든 모듈이 단일 공유 데이터베이스 연결에 액세스할 수 있습니다. 불일치.

위 내용은 Node.js 모듈 전체에서 데이터베이스 연결을 효율적으로 공유하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿