>  기사  >  웹 프론트엔드  >  nodejs는 로그인 데이터베이스를 설정합니다

nodejs는 로그인 데이터베이스를 설정합니다

WBOY
WBOY원래의
2023-05-18 10:12:08497검색

최신 인터넷 애플리케이션의 개발로 인해 점점 더 많은 웹사이트와 애플리케이션이 데이터베이스와 상호 작용해야 합니다. 서버 측 JavaScript 환경인 Node.js를 사용하여 데이터베이스 기반 애플리케이션을 구축할 수도 있습니다. 이 기사에서는 Node.js를 사용하여 MongoDB 데이터베이스에 연결하고 인증하는 방법을 소개합니다.

Node.js 데이터베이스 드라이버

Node.js에는 다양한 유형의 데이터베이스에 연결하는 데 사용할 수 있는 많은 라이브러리가 있습니다. 인기 있는 일부 Node.js 데이터베이스 드라이버는 다음과 같습니다.

  • MongoDB - 이 기사에서는 MongoDB
  • MySQL
  • PostgreSQL
  • SQLite

이러한 라이브러리에는 몇 가지 공통 개념과 방법이 있지만 몇 가지 구문과 API의 차이점도 있습니다. . 이 기사에서는 Node.js를 사용하여 MongoDB 데이터베이스를 구동하는 방법을 알아봅니다.

MongoDB 드라이버 설치

Node.js에서 MongoDB를 사용하려면 MongoDB 드라이버 패키지를 설치해야 합니다. 아래와 같이 npm 패키지 관리자를 사용하여 설치할 수 있습니다.

npm install mongodb

설치가 완료된 후 require 키워드를 사용하여 이를 도입한 다음 MongoDB 데이터베이스에 연결할 수 있습니다.

MongoDB 데이터베이스에 연결

다음은 MongoDB 데이터베이스에 연결하기 위한 Node.js 코드 샘플입니다. 이 예에서 데이터베이스 이름은 mydb이며 원하는 이름으로 바꿀 수 있습니다.

const MongoClient = require('mongodb').MongoClient;

// 连接数据库的URL
const url = 'mongodb://localhost:27017';

// MongoDB数据库名称
const dbName = 'mydb';

// 连接MongoDB服务器
MongoClient.connect(url, function(err, client) {
  console.log("Connected successfully to server");

  const db = client.db(dbName);
  client.close();
});

위 코드에서는 MongoClient.connect() 메서드를 사용하여 MongoDB 서버에 연결합니다. 이 메소드에는 URL과 콜백 함수가 매개변수로 필요합니다. 콜백 함수는 두 개의 매개변수를 받습니다. 하나는 오류 객체이고 다른 하나는 MongoDB 클라이언트입니다.

콜백 함수에서는 데이터베이스 이름 지정 등 데이터베이스 연결을 위한 구성을 설정한 다음 client.db() 메서드를 통해 데이터에 대한 참조를 얻을 수 있습니다. 마지막으로 client.close() 메서드를 사용하여 데이터베이스 연결을 닫습니다.

위 코드에서 연결에 성공하면 콘솔에 "서버에 성공적으로 연결되었습니다"라고 출력됩니다. 오류가 발생하면 오류 메시지가 출력됩니다.

사용자 인증

MongoDB 데이터베이스에 연결할 때 MongoDB의 사용자 인증 옵션을 설정할 수도 있습니다. MongoDB는 사용자 및 역할 기능을 사용하여 권한 제어를 구현합니다. 각 사용자에게는 하나 이상의 역할이 할당될 수 있습니다.

각 역할은 문서 읽기, 쓰기, 업데이트 또는 삭제와 같은 특정 권한 집합을 부여할 수 있습니다. 사용자 및 역할 관리는 MongoDB Shell 명령줄 인터페이스나 MongoDB의 사용자 관리 API를 사용하여 수행할 수 있습니다.

다음은 Node.js를 통한 MongoDB 인증을 위한 샘플 코드입니다.

const MongoClient = require('mongodb').MongoClient;

// 连接数据库的URL
const url = 'mongodb://localhost:27017';

// MongoDB数据库名称
const dbName = 'mydb';

// 设置用户身份证明选项
const authOptions = {
  user: 'username',
  password: 'password',
  authSource: 'admin',
  authMechanism: 'SCRAM-SHA-1'
};

// 连接MongoDB服务器
MongoClient.connect(url, authOptions, function(err, client) {
  console.log("Connected successfully to server");

  const db = client.db(dbName);
  client.close();
});

위 코드에는 authOptions라는 새 옵션을 추가했습니다. 이 옵션에는 사용자 이름과 비밀번호, MongoDB 인증 소스 및 인증 메커니즘이 포함되어 있습니다. 연결 옵션을 MongoClient.connect() 메소드의 두 번째 매개변수로 전달합니다.

이 예에서는 MongoDB의 기본 인증 소스 “admin”을 사용하고 있습니다. 이것의 장점은 데이터베이스에 연결하기 전에 새로운 사용자와 역할을 생성해야 하는 경우 "admin" 데이터베이스를 사용할 수 있다는 것입니다.

인증에 성공하면 이전에 MongoDB 서버에 접속했을 때와 마찬가지로 client.db() 메소드를 통해 데이터베이스에 접근하고 작업할 수 있습니다.

요약

이 글에서는 Node.js를 사용하여 MongoDB 데이터베이스에 연결하고 인증하는 방법을 소개합니다. 먼저 MongoDB 드라이버를 설치한 다음 MongoClient.connect() 메서드를 사용하여 MongoDB 서버와 데이터베이스에 연결하고 authOptions라는 인증 옵션을 설정했습니다. 마지막으로 client.db() 메소드를 통해 MongoDB 데이터베이스를 운영합니다.

질문이나 의견이 있으시면 댓글란에 메시지를 남겨주세요.

위 내용은 nodejs는 로그인 데이터베이스를 설정합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.