본문 바로가기

mongoDB4

[Node.js] 익스프레스에서 몽고디비 사용법 4 - 비밀번호 암호화 저번 몽고디비 사용법 3에 이어서 알아보겠습니다. 목표 암호화 과정 몽구스 스키마의 virtual 메소드 비밀번호 암호화하여 저장 암호화 과정 데이터베이스를 암호화 하여 저장하기 위해선 다음과 같은 절차가 필요합니다. 1. 사용자로부터 비밀번호를 받음 2. 암호화를 위한 salt 값을 생성함 3. 비밀번호를 암호화 함 4. 암호화한 비밀번호와 salt 값을 저장 암호화하기전 비밀번호를 받기위해 virtual 메소드를 사용합니다. 이를 사용하면 스키마에 가상으로 속성을 설정하여 값을 받을 수 있습니다. 그리고 virtual 메소드 내에서 받은 값을 암호화하여 데이터베이스에 저장할 수 있습니다. salt 값은 암호화를 위한 key입니다. 같은 비밀번호, 같은 salt를 encryptPassword 메소드에 .. 2021. 1. 8.
[Node.js] 익스프레스에서 몽고디비 사용법 3 - 몽구스로 DB 다루기 저번 몽고디비 사용법 2에 이어서 알아보겠습니다. 목표 몽구스와 스키마 몽구스로 DB 연결 및 모델 정의 몽구스로 DB 문서 추가와 조회 몽구스와 스키마 몽고디비는 한 컬렉션에 여러 문서를 저장하는데, 이 문서들의 속성이 제각각으로 저장할 수도 있습니다. 이렇게 되면 문서가 어떤 속성을 갖고있는지 알기 힘들기 때문에 데이터를 조회할 때 어려움이 생깁니다. 이 때문에 문서를 저장할 때 일정한 틀이 있어야하는데 이를 제공하는 대표적인 모델이 몽구스(mongoose)입니다. 그리고 이런 틀을 스키마(Schema)라고 합니다. 몽구스로 스키마를 정의하고, 이를 사용할 컬렉션과 매핑하기 위해 모델을 정의합니다. 그리고 이 모델을 통해 문서를 저장할 수 있습니다. 몽구스로 DB 연결 및 모델 정의 먼저 % npm .. 2021. 1. 7.
[Node.js] 익스프레스에서 몽고디비 사용법 2 - 문서 추가와 조회 저번 몽고디비 사용법 1에 이어서 알아보겠습니다. 목표 몽고 셸에서 문서 추가와 삽입 익스프레스에서 문서 추가와 삽입 몽고 셸에서 문서 추가와 조회 먼저 간단하게 몽고디비에서 데이터베이스(DB)가 어떻게 구성되는지 알아보겠습니다. 몽고디비의 DB는 NoSQL 방식의 DB로 컬렉션(collection)의 집합입니다. 컬렉션은 많은 문서(document) 객체들로 이뤄져있습니다. 문서 객체에는 하나의 객체에 대한 정보들이 있습니다. 이번 글에서 DB의 추가와 검색은 한 컬렉션에서 문서를 추가하고 검색하는 것을 의미합니다. % use local // local 데이터베시스를 사용 % db.users.insert({name:'짱구', age:5}) // users 컬렉션에 name과 age 속성을 갖는 문서 추.. 2021. 1. 5.
[Node.js] 익스프레스에서 몽고디비 사용법 1 - 데이터베이스 연결 목표 몽고디비 설치 및 DB생성 익스프레스에서 몽고디비 DB 연결 몽고디비 설치 및 DB생성 mongodb 공식 사이트에서 MongoDB Community Server를 다운받아 기본 설정으로 설치해줍니다. 기본 설정으로 설치하면 C:\Program Files\MongoDB\Server\4.4 폴더에 몽고디비가 설치됩니다. 이를 PATH 환경 변수에 추가합니다. 다음은 DB 생성 및 실행을 하겠습니다. 원하는 곳에 database 폴더를 생성하고 cmd 창을 키고 다음 명령을 실행합니다. (database 폴더로 이동, local은 DB이름) % cd /Users/user/database % mongod --dbpath /Users/user/database/local 'local' DB를 생성 및 실행하.. 2021. 1. 4.