Sequelize 문법
332
投稿した質問数 11
안녕하세요. 앞에 sequelize 문법쪽 강의를 다 듣고 공식 문서도 확인해봤는데 제가 못찾는건지 이 부분의 문법이 생소해서 질문드립니다.
User.findOne({where: {email}});
where: {email}이라고 돼있는데, { }안에는 where절에 해당하는 조건이 들어가야 하는거 아닌가요?
user의 email에 해당하는 값이 위에서 const로 선언한 변수에 해당하는 email값과 동일한 데이터를 찾는 문법이라는 것은 유추가 되는데 어떻게 저런 문법이 나온것인지 궁금합니다..!
回答 1
3
User.findOne({where:{email}});
위에 코드에서 왜 email이 {} 안에 감싸져 있는게 궁금하신거 같은데 이 {email}은 {email : email}과 같습니다.
자바스크립트 es6(es2015) 도입 이후 키와 값이 동일 하다면 이런식으로 { email : email } 을 { email }로 표현이 가능합니다. 한마디로 시퀄라이즈 문법이 아닌 자바스크립트 문법이라는뜻이죠
이제 시퀄라이즈로 넘어와서 코드를 다시 해석해보면 User라는 테이블에서 email 컬럼에 email 변수가 일치하는것이 있다면 User 객체를 반환할 것이고 아니면 undefined로 반환될 것입니다. 님의 데이터베이스의 만약 "abc1234@gmail.com"이라는 데이터가 있다고 가정할 때 email 변수안에 "abc1234@gmail.com"이라는 변수가 있다면 "abc1234@gmail.com"로우가 있는 User 객체를 반환하는 것이죠. 중요한점은 {email}이런 문법은 키와 값이 서로 같을 때 이런식으로 줄일 수 있다는것이고 해당 코드는
User.findOne({where:{email}});
를 사용하기 전에 email이라는 변수가 선언되어야만 자바스크립트가 email이라는 변수가 email이라는 키가 중복된것을 인지하고 위와 같은 문법을 사용가능하게 합니다. 만약 email이라는 변수가 없다면 위 문법은 사용할수 없을 것입니다.
const email = "abcd1234@gmail.com";
const obj = { email }; // email 변수가 있기 때문에 줄여서 사용가능
console.log(obj.email); // abcd1234@gmail.com
const obj = { email };
console.log(obj.email); // ReferenceError: email is not defined
리눅스 노드 설치시 패키지
0
159
0
socket.js 에서 referer로부터 roomId를 가져올 때
0
905
3
스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문
0
2281
2
a[title] 질문드립니다
0
375
1
리뉴얼 강의 및 공부 방법
0
581
1
jwt decode
0
1128
1
node.js 교과서 3판 질문드립니다
0
391
1
passport와 jwt
0
432
1
리뉴얼 강의
0
418
2
혹시 Node.js 교과서 3판 이북은 언제 나오나요?
0
353
1
몽고디비 사용자도 MYSQL부분을 들어야 하나요???
0
481
1
sql 쿼리 로그는 어떤 모듈이 작성하나요?
0
505
2
nunjucks res.render('error'); 작동을 안합니다.
0
511
1
질문있습니다.
0
346
1
multer 한글 파일 업로드시 파일명이 깨져요.
1
3535
1
수업자료는 어디있나요?
0
366
1
질문 있습니디
0
235
1
multer 사용시 file 외 name값은 못받나용?
0
416
1
코드 중복 부분 질문드립니다.
0
298
1
api 만드는 이유 질문드립니다.
0
286
1
Strategy의 done에 대해 질문드립니다.
0
364
1
안녕하세요 fs 권한 관련 질문드립니다
0
448
1
시퀄라이즈 연결질문...
0
495
2
res.setHeader vs res.cookie
0
1786
3

