일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 부트스트랩
- post
- 스파르타코딩클럽
- HTTPS
- 위키백과
- cors
- SQL
- 숙제
- Transaction
- Sequelize
- 2주차
- 항해99
- 5주차
- 노드 윈스턴
- 4주차
- Node.js
- node winston
- 비동기
- Get
- JWT
- 3주차
- NoSQL
- nginx
- db
- OpenAPI
- MongoDB
- 개발일지
- 트랜잭션
- 1주차
- 웹 스크래핑(크롤링)
- Today
- Total
목록
728x90
Sequelize (5)
얼음꽃의 일지
Sequelize에서 간단하게 관계 설정 하는 법을 적으려고 합니다. 기본적인 코드는 다음과 같습니다. // 모델 안에서 진행한다는 가정하에 진행합니다. table_name.model.js table_name.associate = (models) => { table_name.hasMany(models.other_table_name, { foreignKey : "fields", sourceKey : "fields", }); } other_table_name.model.js other_table_name.associate = (models) => { other_table_name.belongsTo(models.table_name, { foreignKey : "fields", targetKey : "field..
보통 findAll 로 찾아와서 그것에 대한 length 를 구해가지고 총 개수 값을 찾는 경우가 있는데요 만약 findAll을 하는데 pagination 때문에 limit 가 걸려있으면 그 만큼의 개수를 가져올 수 밖에 없어서 limit가 최대 개수가 되는데 이때도, 총 개수를 가져오고 싶다면 findAndCounAll 을 쓰면 됩니다. const db = require('../../모델 위치'); const a = await db.table_name.findAndCountAll({limit: 50}); console.log(a.rows.length) // 가져온 개수 50 console.log(a.rows.count.length) // table 에 들어있는 총 개수 findAndCountAll 로 ..
sequelize 설치 됐다는 가정 하에 진행 됩니다. sequelize를 이용하다가 sequelize로 하기에는 너무 힘든 쿼리거나 이미 짜여진 쿼리를 그대로 사용하고 싶을 경우 raw query를 그대로 사용해야하는데요. 이때 사용하는 방식입니다. const db = require('../../모델 위치'); exports.s = async (a, b) => { const query = `SELECT * FROM TABLE_NAME WHERE table_field_name between :a AND :B; return db.sequelize.query(query, { replacements: { a, b }, type: db.sequelize.QueryTypes.SELECT, raw: true, })..
sequelize 가 설치되었다는 가정하에 작성되었습니다. transaction을 직접 걸어두는게 아니면 DB 설정에 따라 자동적으로 잡힙니다. 보통은 Auto Commit 형태로 되어있습니다. 근데 Auto Commit이 아닌 직접 거는 상황을 보여드립니다. 일단 Transaction은 보통 수행하는 작업의 단위를 묶기 위해서 사용하죠. Transaction을 사용하게 됐을때 제가 느낀 장단점은 [장점] 1. 한번에 묶어서 수행하기 때문에 확인하기 편함 2. 서버나 타 이슈로 인해 에러 발생시 한꺼번에 롤백이 되기때문에 강제로 commit 될 위험 없음 3. 원하는 곳에서 commit 할 수 있도록 설정 가능 [단점] 1. transaction 적용하면서 속도가 조금 느려짐 -> 속도는 transact..
sequelize 설치가 되어있다는 가정 하에 제가 자주 쓰던 sequlize op 총 형태 모음집 입니다. const {Op} = require('sequelize'); const db = require('../../?'); // 모델있는 위치 const arr = [1,2,3,4,5]; // order를 형성하기 위한 배열 let offset = 0; if (page > 1) { offset = (page - 1) * limit; } const a = await db.table_name.findOne({ attributes: ['table_field_name', // 특정 필드명 db.sequelize.fn('사용할 sql 함수', db.sequelize.col('table_field_name'), ..