MongoDB Node.js 드라이버를 통합하는 방법

Mongodb Node Js Deulaibeoleul Tonghabhaneun Bangbeob



MongoDB에는 MongoDB Node.js 드라이버라는 공식 패키지가 있어 Node.js 프로그램과 데이터베이스를 통합할 수 있습니다. 이 애플리케이션을 사용하면 다른 데이터베이스 작업 중에서 문서를 연결, 쿼리, 업데이트 및 삭제할 수 있습니다. MongoDB Node.js 드라이버를 사용하려면 노드 패키지 관리자인 npm에서 mongodb 패키지를 설치해야 합니다. 이 기사에서는 아래 npm에서 mongodb를 가져오기 위한 각 단계를 제공했습니다.

npm 모듈을 사용하여 MongoDB 드라이버 설정

MongoDB node.js 드라이버를 얻으려면 먼저 업데이트해야 하는 Node.js용 npm 모듈을 시스템에 가져와야 합니다. 우리는 시스템에 전 세계적으로 최신 버전의 npm을 설치했습니다. npm 모듈 설치 명령은 다음과 같습니다.

npm 설치 -g npm@9.8.1

여기서는 npm 모듈이 컴퓨터에 추가된 것이 분명합니다.









이제 MongoDB를 Node.js 드라이버와 통합해야 하므로 다음 명령은 npm 명령을 사용하여 Mongodb 드라이버를 얻는 데 도움이 됩니다. 종속성은 -save 옵션을 사용하여 npm에 의해 'package.json'이라는 파일에 저장됩니다. 그러나 MongoDB 드라이버를 설치하고 –save 옵션 없이 프로젝트의 종속성에 추가하여 동일한 결과를 얻을 수 있습니다.



npm install mongodb --save

이제 다음 이미지와 같이 MongoDB 드라이버가 성공적으로 설치되었습니다.





다음 단계는 MongoDB 프로그램을 넣을 수 있는 고유한 디렉터리를 만드는 것입니다. 이렇게 하려면 mkdir 명령을 사용하여 'NewFolder' 디렉터리를 만듭니다. 디렉터리를 생성하는 명령은 다음과 같습니다.



mkdir 새 폴더

이제 해당 특정 디렉터리로 이동하기 위해 아래와 같이 경로를 지정했습니다.

CD C:\Users\Hp\MyNodejs\NewFolder

따라서 이제 이전 단계에서 생성된 'NewFolder' 디렉터리에 있습니다. 다음 프로세스로 넘어가서 'npm init -y' 명령을 실행하면 사용자 입력 없이 기본값으로 package.json 파일을 생성하여 새 Node.js 프로젝트를 빠르게 초기화할 수 있습니다.

기본값이 포함된 기본 package.json 파일이 아래 명령 출력으로 생성되었습니다.

예제 # 1: Node.js를 통합하여 MongoDB 서버와 연결 설정

Node.js 내에서 MongoDB 드라이버를 가져오기 위한 모든 초기 단계가 위 섹션에서 성공적으로 완료되었습니다. 이제 MongoDB 서버와 쉽게 연결을 설정할 수 있습니다. 이를 위해 'NewFolder' 디렉터리 내에 'MongoDB.js'라는 이름의 파일을 만들었습니다. 연결을 설정하기 위한 스크립트는 다음과 같습니다.

const { 몽고클라이언트 } = 필요하다 ( '몽고디비' );
const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const 클라이언트 = 새로운 MongoClient(url);
const DB_이름 = '새 데이터베이스' ;
비동기 함수 main() {
client.connect()를 기다립니다;
콘솔.로그( 'MongoDB 서버에 성공적으로 연결되었습니다' );
const db = client.db(db_name);
const 컬렉션 = db.collection( '사용자' );
반품 '완료.' ;
}

기본()
.then(console.log)
.catch(콘솔.오류)
.finally(() => client.close());

MongoDB 서버 연결을 생성하기 위해 MongoDB 패키지에서 “MongoClient” 클래스를 추가했습니다. 그런 다음 MongoDB 서버 URL이 정의된 변수 'url'과 'db_name'(이 경우 localhost)을 지정하고 MongoDB 데이터베이스 이름을 'NewDatabase'로 지정했습니다.

그런 다음 비동기 함수를 설정하고 이를 main()이라고 불렀습니다. main() 함수 내에서 연결을 설정하기 위해 connect() 함수를 사용했으며, 연결이 성공적으로 설정되면 log()가 메시지를 인쇄합니다.

연결을 설정한 후 '사용자' 컬렉션에 액세스합니다. 여기에서는 기본 기능 내에서 다양한 데이터베이스 작업을 수행할 수 있습니다. 다음으로, 성공 및 오류 사례를 처리하기 위해 main().then(console.log).catch(console.error)를 사용하여 기본 함수가 호출됩니다. 마지막으로 .finally() 블록에서 client.close()를 사용하여 MongoDB 연결을 닫았습니다.

node 명령으로 파일을 실행하면 MongoDB 서버와의 연결이 성공적으로 설정되었다는 출력이 표시됩니다.

예제 # 2: Node.js를 사용하여 MongoDB 컬렉션에 문서 삽입

이전 섹션에서 MongoDB 서버에 연결했습니다. 연결이 설정되면 위 프로그램에 지정된 컬렉션에 문서를 삽입할 수 있습니다. 'user' 컬렉션에 문서를 삽입하는 작업은 동일한 파일 'MongoDB.js'에 추가됩니다.

const { 몽고클라이언트 } = 필요하다 ( '몽고디비' );
const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const 클라이언트 = 새로운 MongoClient(url);
const DB_이름 = '새 데이터베이스' ;
비동기 함수 main() {
client.connect()를 기다립니다;
콘솔.로그( 'MongoDB 서버에 성공적으로 연결되었습니다' );
const db = client.db(db_name);
const 컬렉션 = db.collection( '사용자' );

const insertDocs =
컬렉션을 기다리고 있습니다.insertMany([{ 이름: '알렉스' , 이메일: ' alex@example.com ' },
{ 이름: '앤디' , 이메일: ' andy@example.com ' },
{ 이름: '그 자신' , 이메일: ' sam@example.com ' }]);
콘솔.로그( '컬렉션에 문서가 삽입되었습니다 =>' , insertDocs);
반품 '완료.' ;
}

기본()
.then(console.log)
.catch(콘솔.오류)
.finally(() => client.close());

여기서 모든 스크립트는 위와 동일합니다. 방금 비동기 함수 main()에 삽입 작업을 삽입했습니다. “insertDocs” 변수를 생성한 다음 wait 명령을 사용하여 insertMany() 함수를 호출했습니다. insertMany() 함수의 경우 각각 다른 값을 갖는 'name' 및 'email' 필드를 포함하는 세 개의 문서를 지정했습니다. 모든 문서가 올바르게 삽입되면 명세서가 생성됩니다.

문서에 표시된 출력은 세 개의 고유 ID를 사용하여 컬렉션에 성공적으로 삽입되었습니다.

예제 # 3: Node.js를 사용하여 문서를 컬렉션으로 업데이트합니다.

같은 방식으로 “MongoDB.js”라는 동일한 파일을 따라가면 Node.js에서도 MongoDB의 업데이트 작업을 적용할 수 있습니다. 업데이트 작업을 위한 파일에 작업이 추가됩니다. 이 작업에 대한 프로그램을 고려하십시오.

const { 몽고클라이언트 } = 필요하다 ( '몽고디비' );
const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const 클라이언트 = 새로운 MongoClient(url);
const DB_이름 = '새 데이터베이스' ;
비동기 함수 main() {
client.connect()를 기다립니다;
콘솔.로그( 'MongoDB 서버에 성공적으로 연결되었습니다' );
const db = client.db(db_name);
const 컬렉션 = db.collection( '사용자' );

const updateDoc = collection.updateOne({ 이름: '앤디' },
{ $세트: { 이메일: ' andy12@example.com ' } });
콘솔.로그( '컬렉션에서 업데이트된 문서=>' , updateDoc);
반품 '완료.' ;
}

기본()
.then(console.log)
.catch(콘솔.오류)
.finally(() => client.close());

여기서는 업데이트 작업이 $set 연산자로 정의되는 변수 'updateDocs'를 호출했습니다. updateOne() 메서드의 정의에는 하나의 문서만 업데이트하면 된다고 명시되어 있습니다. MongoDB의 updateOne() 메소드에서는 첫 번째 명령문으로 이름 필드에 값을 제공한 다음 두 번째 명령문에 $set 연산자를 제공했습니다. 여기서 'email' 필드는 그에 따라 새 이메일을 업데이트하도록 제공됩니다. .

Node.js를 사용하여 업데이트할 문서를 일치시키고 수정한 경우 출력이 표시됩니다.

예제 # 4: Node.js를 사용하여 MongoDB 컬렉션에서 문서 삭제

다음으로 Node.js를 사용하여 MongoDB의 삭제 작업을 적용했습니다. 작업은 유사한 파일 'MongoDB.js'에서 제공됩니다.

const { 몽고클라이언트 } = 필요하다 ( '몽고디비' );
const URL = 'mongodb:// 127.0.0.1:27017 ' ;
const 클라이언트 = 새로운 MongoClient(url);
const DB_이름 = '새 데이터베이스' ;
비동기 함수 main() {
client.connect()를 기다립니다;
콘솔.로그( 'MongoDB 서버에 성공적으로 연결되었습니다' );
const db = client.db(db_name);
const 컬렉션 = db.collection( '사용자' );

const deleteDoc = collection.deleteOne({ 이름: '앤디' });
콘솔.로그( '문서가 삭제되었습니다=>' , 삭제Doc);
반품 '완료.' ;
}

기본()
.then(console.log)
.catch(콘솔.오류)
.finally(() => client.close());

여기서는 동일한 컬렉션 'users'에서 문서가 삭제되는 새 변수 'deleteDoc'을 정의했습니다. deleteOne() 메서드는 'deleteDoc' 변수 내에 제공되어 'Andy' 값으로 저장된 'name' 필드가 있는 특정 문서만 삭제합니다. 컬렉션에서 문서가 삭제되면 Node.js 파일도 삭제 메시지를 생성합니다.

예상대로 문서는 MongoDB 컬렉션 'users'에서 성공적으로 삭제되었습니다.

결론

MongoDB 데이터베이스에 대한 연결을 설정하고 MongoDB Node.js 드라이버를 사용하여 컬렉션에 액세스하는 방법을 시연했습니다. MongoDB와 성공적으로 연결한 후 MongoDB 작업을 수행하기 위해 기본 함수 내에 추가 작업 코드를 포함했습니다.