Nodejs와 mongoDB의 인증 - 1부

보통 언어를 배우기 쉬워서 나중에 신분 검증을 잊어버리기 쉽다.그리고 나서 너는 네가 중요한 절차를 놓쳤다는 것을 깨달았다.이것이 바로 나의 상황이다.
이 강좌는 인증 시리즈의 시작일 뿐이다.본 시리즈에서 우리는 nodejs, bcrypt, jsonwebtoken, mongoDB, React, npm install, nodemon index 등의 도구를 배울 것이다.시작 코드를 가져오는 것부터 시작합시다.

기동기 코드

  • 부팅된 코드를 복제하십시오here.
  • 
    $ git clone -b starter-code https://github.com/EBEREGIT/auth-backend
    
    
  • 프로젝트 디렉터리에서 실행http://localhost:3000/ 필요한 모든 의존 항목 설치
  • 운행Database Access은 3000항의 프로젝트에 서비스를 제공한다.브라우저에서 확인Add New Database User~comfirm
  • 데이터베이스 설정


    이 부분에서 우리는 데이터베이스 설정과 사용mongoDB atlas을 소개할 것이다.
    website로 이동하여 무료 계정을 만듭니다.

    새 데이터베이스 사용자 만들기

  • 대시보드에서 왼쪽Password 링크를 클릭합니다.새 데이터베이스 사용자를 추가하라는 메시지가 표시됩니다.
  • 버튼을 클릭합니다.Add User 대화 상자 열기)
  • 인증 방법clusters으로 선택
  • 선택한 사용자 이름을 입력하십시오
  • 암호를 입력하거나 보안 암호를 자동으로 생성합니다.(암호를 자동으로 생성하여 어딘가에 저장하는 것이 좋습니다. 곧 필요할 것입니다)
  • 을(를) 클릭하여 프로세스를 완료합니다.

  • 클러스터 생성

  • 측면 링크에서 Build a Cluster 를 클릭합니다.버튼이 있는 클러스터 페이지로 이동합니다: free cluster.
  • 버튼을 클릭합니다.
  • 선택Create Cluster.(설정 페이지가 열립니다. 이 페이지에서 변경되지 않습니다.)
  • 클릭connect(클러스터가 완전히 생성될 때까지 기다립니다. 완료되면 화면이 아래 화면과 비슷해야 합니다.)

  • 클러스터에 사용자 연결

  • 클릭Connect to Cluster0버튼
  • 팝업Connect from Anywhere 모드에서 Choose a connection method 선택 및 설정 업데이트
  • 클릭Connect Your Application버튼
  • 을(를) 클릭합니다.(열린 페이지에서 확인DRIVERnodejs, VERSION3.6 or later)
  • 연결 문자열을 복사하여 어딘가에 저장합니다.너는 곧 그것을 필요로 할 것이다.

  • 저랑 비슷할 거예요.
    
    mongodb+srv://plenty:<password>@cluster0.z3yuu.mongodb.net/<dbname>?retryWrites=true&w=majority
    
    
  • 대화 상자 닫기
  • 컬렉션 만들기 (테이블)

  • 클러스터 페이지로 돌아가려면 COLLECTIONS
  • 아래 페이지에 있어야 합니다.클릭Add My Own Data버튼
  • 팝업 대화상자에서 adatabase name와 acollection name를 입력합니다.(내 데이터베이스 이름은 authDB, 내 집합명은 users
  • 클릭Create버튼
  • 나 같은 데이터베이스와 집합을 만든 것을 축하합니다 (표)

    Nodejs를 MongoDB에 연결

  • 돌아오자 starter Code
  • 생성된 데이터베이스 이름, 연결 문자열, 비밀번호를 기억하십니까?우리는 즉시 그것들을 사용할 것이다
  • 생성된 암호와 생성된 데이터베이스 이름으로 대체<password><dbname>
  • 
    mongodb+srv://plenty:[email protected]/authDB?retryWrites=true&w=majority
    
    
  • 루트 폴더에 파일을 만들고 이름을 .env
  • 몰라요.env?이 글에 서명
  • 변수 DB_URL 를 만들고 연결 문자열을 다음과 같이 분배합니다
  • 
    DB_URL=mongodb+srv://plenty:[email protected]/authDB?retryWrites=true&w=majority
    
    
  • 폴더를 만들고 이름을 db
  • 로 지정합니다.
  • 새 파일을 만들고 이름을 dbConnect.js
  • 로 지정합니다.
  • 설치mongoose
  • 
    npm i mongoose -s
    
    
    dbConnect 파일에서 mongooseenv 코드가 필요합니다.
    
    // external imports
    const mongoose = require("mongoose");
    require('dotenv').config()
    
    
  • 우리의 연결을 수용할 함수를 만들고 내보냅니다. 아래와 같습니다.
  • 
    async function dbConnect() {
    
    }
    
    module.exports = dbConnect;
    
    
  • 함수에서 .evn 파일의 연결 문자열을 사용하여 만든 데이터베이스에 연결을 시도합니다
  • 
    // use mongoose to connect this app to our database on mongoDB using the DB_URL (connection string)
      mongoose
        .connect(
            process.env.DB_URL,
          {
            //   these are options to ensure that the connection is done properly
            useNewUrlParser: true,
            useUnifiedTopology: true,
            useCreateIndex: true,
          }
        )
    
    
  • 블록 사용then...catch... 연결 성공 여부 표시
  • 
    .then(() => {
          console.log("Successfully connected to MongoDB Atlas!");
        })
        .catch((error) => {
          console.log("Unable to connect to MongoDB Atlas!");
          console.error(error);
        });
    
    
    dbConnect 파일은 다음과 같습니다.
    
    // external imports
    const mongoose = require("mongoose");
    require('dotenv').config()
    
    async function dbConnect() {
      // use mongoose to connect this app to our database on mongoDB using the DB_URL (connection string)
      mongoose
        .connect(
            process.env.DB_URL,
          {
            //   these are options to ensure that the connection is done properly
            useNewUrlParser: true,
            useUnifiedTopology: true,
            useCreateIndex: true,
          }
        )
        .then(() => {
          console.log("Successfully connected to MongoDB Atlas!");
        })
        .catch((error) => {
          console.log("Unable to connect to MongoDB Atlas!");
          console.error(error);
        });
    }
    
    module.exports = dbConnect;
    
    
  • app.js 파일에서dbConnect 함수가 필요하며 다음과 같이 실행합니다
  • 
    // require database connection 
    const dbConnect = require("./db/dbConnect");
    
    // execute database connection 
    dbConnect();
    
    
  • 터미널을 확인합니다.만약 당신이 한 발자국도 놓치지 않았다면, 인쇄해야 한다"Successfully connected to MongoDB Atlas!".다음 글 참조

  • 결론


    본고에서 우리는 nodejs 응용 프로그램을 mongoDB의 데이터베이스에 쉽게 연결하는 방법을 이해했다.
    모든 코드는 here

    에베리지트 / 백엔드 확인


    이 강좌는 nodejs와mongoDB를 사용하여 사용자에게 인증을 만드는 방법을 소개합니다


    다음 문장에서 우리는 연구할 것이다

    좋은 웹페이지 즐겨찾기