-
06/16 Sequelize + node.js express 사용연습데이터베이스 2021. 6. 16. 12:57
Sequelize
ORM으로 분류됨
npm init -y
app.js 생성
npm i mysql2
npm i nodemon
npm i express
npm i sequelize -g
npm i sequelize-cli -g
npm i sequelize-auto -g
app.js
const express = require('express'); const app = express(); const { Sequelize } = require('sequelize'); const sequelize = new Sequelize('mysql', 'root', '1234', { host: 'localhost', dialect: 'mysql' }); app.get('/', (req, res) => { res.send('hello express'); }) app.get('/connectdb', (req, res) => { connect(); res.end('db connection test...'); }); async function connect() { try { await sequelize.authenticate(); //접속 대기 console.log("connected."); } catch (err) { console.log(err); } } app.listen(3000, () => { console.log('server start'); })
sequelize_db
"timezon": "+09:00"
"define" : {
"charset" : "utf8",
"collate" : "utf8_bin",
"timestamps" : true
}
sequelize-auto를 사용하여 mysql 모델 가져오기
sequelize init
auto.js
const SequelizeAuto = require('sequelize-auto'); const auto = new SequelizeAuto("nodejs", "root", "1234", { host: "localhost", port: "3307", dialect: "mysql", }); auto.run(err => { if(err) throw err; console.log("complete!"); })
sequelize로 DB내 데이터 취득
데이터 입력
코드 작성
mysequelize.js
const initModels = require('./models/init-models'); const { Op, Sequelize } = require('sequelize'); const sequelize = new Sequelize('nodejs', 'root', '1234', { host: 'localhost', port: '3307', dialect: 'mysql' }); const models = initModels(sequelize); module.exports = { models, Op, }
select.js
const { Op, models } = require('./mysequelize'); async function findAllFromUsers() { const product = await models.products.findAll({ where: { price: { [Op.gt]: 20000, }, }, }); const json = JSON.stringify(product); console.log(json); } findAllFromUsers();
실행
node select
//나이가 30이상이고 결혼한 사용자들의 이름들만 출력
select.js
const { Op, models } = require('./mysequelize'); //나이가 30이상이고 결혼한 사용자들의 이름들만 출력하세요 async function findAllFromUsers() { const product = await models.users.findAll({ attributes: ['name'], where: { married: { [Op.eq]: 1, }, age: { [Op.gt]: 30, }, }, }); const json = JSON.stringify(product); console.log(json); } findAllFromUsers();
참고
Manual | Sequelize
Constraints & Circularities Adding constraints between tables means that tables must be created in the database in a certain order, when using sequelize.sync. If Task has a reference to User, the User table must be created before the Task table can be crea
sequelize.org
'데이터베이스' 카테고리의 다른 글
07/13 데이터베이스 기초1 (0) 2021.07.13 06/16 Sequelize + node.js express 사용연습 2 (0) 2021.06.16 06/15 node.js서버 express CRUD 구현 (0) 2021.06.15 06/15 DB update, delete 및 node.js서버 DB검색 구현 (0) 2021.06.15 06/11 mysql 다운로드 , select, insert (0) 2021.06.11