데이터베이스 세팅 로그인 기능을 구현하기 위해 사용자 테이블이 필요하고, 게시글을 저장할 게시글 테이블도 필요하다. 해시태그를 사용하기 때문에 해시태그 테이블도 필요하다. models 폴더 안에 정의해보자. const Sequelize = require('sequelize'); module.exports = class User extends Sequelize.Model{ static init(sequelize){ return super.init({ email: { type: Sequelize.STRING(40), allowNull: true, unique: true, }, nick: { type: Sequelize.STRING(15), allowNull: false, }, password: { type:..
몽고 DB 몽고디비는 대표적인 NoSQL이다. NoSQL이란 SQL을 사용하지 않는다는 말이다. SQL과 차이점은 다음과 같다. NoSQL에는 고정된 테이블이 없다. 따라서 컬럼을 따로 정의하지는 않는다. 예를 들어 MySQL은 users 테이블을 만들 때, name, age, married 등의 컬럼과 자료형, 옵션을 정의한다. 몽고디비는 그냥 users 컬렉션을 만들고 끝낸다. 또한, 몽고디비에는 JOIN기능이 없다. 하지만, 확장성과 가용성이 뛰어나 많이 사용되고 있다. MySQL에서의 테이블, 로우, 컬럼은 몽고디비에서 컬렉션, 다큐먼트, 필드라고 부른다. 또한, 자바스크립트 문법을 사용한다. 노드도 자바스크립트를 사용하므로 데이터베이스마저 몽고디비를 사용한다면 자바스크립트만 사용하여 웹 애플리케..
CRUD CRUD란 Create, Read, Update, Delete의 첫 글자를 딴 두문자어이다. 우선 CRUD를 하려면 테이블이 있어야 하니 테이블을 만들자. Create 데이터를 생성해서 데이터베이스에 넣는 작업이다. users 테이블에 데이터를 몇 개 넣어보자. INSERT INTO users (name, age, married, comment) VALUES ('홍길동', 24, 0, '자기소개1'); INSERT INTO users (name, age, married, comment) VALUES ('김철수', 32, 1, '자기소개2'); comments 테이블에도 넣어보자. 워크벤치를 사용하면 위와 같이 테이블에 직접 적고 하단에 apply를 누르면 insert가 완료된다. Read 조회는..
데이터 베이스 RDB의 대표격인 MySQL과 NoSQL의 대표인 몽고디비를 이용하여 서버 작업을 해볼 예정이다. 그전에 데이터베이스에 대한 기본적인 개념만 정리하고 실습해보자. 우선 MySQL을 설치해보자. https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.23 2.4M (mysql-installer-web-community-8.0.23.0.msi..