시퀄라이즈 논리연산자 처리방식 질문
137
작성한 질문수 23
where:{id:parseInt(req.params.id,10)||(req.user&&req.user.id)||0}
논리연산자 부분이 뭔가 부자연스러워서 한참을 생각해봤는데, 이것은 시퀄라이즈가 where 내부에 논리연산자 관련 처리를 해놓지 않았다면, :id 가 숫자이기만 하면 항상 req.params.id인 유저를 찾게되는 하나의 명령어인 것 같습니다.
그러나 저 코드의 의도는 findOne(where:{id:req.params})를 해보고, 없다면 findOne(where:{id:(req.user&&req.user.id})를 해보고, 또 없다면 findOne(where:{id:0})을 최후의 수단으로 해라가 맞는 것 같습니다.
예를 들어 DB에 회원이 1명만 있다 가정하고, GET /100/followings 요청을 보낸다고 생각해볼 때, 논리연산식에 따르면 where:{id:100}인 findOne명령이 한 번 실행되고 끝이 아닌가요? where 내부에서 논리연산식을 사용하면 그에 맞게 시퀄라이즈가 똑똑하게 findOne 요청을 적절하게 여러번 보내게 되는건가요?
답변 1
0
시퀄라이즈는 아무 역할이 없습니다. 똑똑한 것도 아니고요. 그 논리식의 결괏값을 받아 그냥 처리할 뿐입니다. 그 값대로 요청은 한 번만 보냅니다.
0
아하 감사합니다. 궁금한건 풀렸습니다! 시퀄라이즈는 안 똑똑하다..!
근데 그러면, 애초에 그냥 req.params.id를 숫자로 암묵적으로 단언해놓고, 혹시라도 /any/followings 요청 같은 괴상한 짓에 대응하기 위해서, 로그인을 했다면 그 유저의 팔로잉을, 안 했다면 0을 가져오게 처리만 해주고, id매치결과가 없는 경우는 에러로 넘기겠다는 의도인가요?
그럴거면 id:req.params.id 만 하고, 나머지 경우는 다 에러 처리 미들웨어로 보내고 로그 보면서 대응하는게 개발/배포 과정에서 더 좋지 않나요? 사실 이 경우엔 웬만큼 괴상한짓을 하지 않는 이상 에러가 안날거같긴한데..
'S3' 형식에 'S3Client' 형식의 destroy, middlewareStack, send 속성이 없습니다.ts(2739)
0
514
1
throw new Error(`${this.name}.hasMany called with something that's not a subclass of Sequelize.Model`); 에러 질문
0
348
1
안녕하세요.. connect ECONNREFUSED 127.0.0.1:3306 관련해서 질문드립니다
0
964
1
@types를 dependencies에 넣는 이유?
0
407
1
JS에서 babel 사용시 `import * as` 구문을 안써도되는데, 바벨이 esModuleInterop: true 로 처리해주는 것인가요?
0
322
1
Sequelize Association 오류
0
526
2
Sequelize constructor.primaryKeyAttributes 오류
0
987
1
Sequelize에 요청을 보내면 오류가 뜹니다
0
803
1
강좌에서 사용된 3개의 코드 의미가 궁금합니다 [ 코드 : 1. [ key:string]:string] 2. delete user.password , 3.passport.deserializeUser<number> ]
0
342
1
@mui/x-data-grid 에 사용자정의 컬럼 타입을 추가해서 사용하려고 합니다.
0
2634
1
미들웨어 에러
1
319
1
Could not find a declaration file for mould '../utils/jwt-utils'
1
186
1
마지막에 type과 interface 추가하는 부분
0
224
1
다른 컴퓨터에서 제가 만든 DB 테이블의 데이터를 그대로 사용하려면?
0
292
1
express 모듈 에러 관련
0
246
1
import * as A from 'B'
0
219
1
MySql ssl 보안 옵션 질문 입니다.
0
363
2
passport/index.ts 에러 입니다
1
456
1
routes/post.ts 페이지에서 에러나요..
0
315
1
passport/index.ts 에러납니다...
0
819
1
ts import 에러
0
444
1
타입스크립트로 변환후 nextjs 빌드 후 배포
0
265
1
sequelize include 질문드립니다.!
0
193
1
roperty 'id' does not exist on type 'User'.
0
906
1





