TIL 20.12.22
12/22 TIL
MongoDBb __v field
MongoDB의 ORM(명확히 얘기하자면 ODM)인 mongoose를 사용하다보면 __v
라는 의문의 field가 생기는 것을 확인할 수 있습니다.
Mongoose 공식문서에서는 이를 versionKey
라고 합니다. 이 key값은 해당 다큐먼트의 내부 수정에 대한 정보를 담고 있다고 합니다. 즉, Document 버전관리를 해주는 필드입니다. 오직 .save()
를 사용해서 document를 업데이트 할때만 versionKey가 업데이트 된다고 합니다. (update()
, findOneAndUpdate()
를 사용하면 업데이트가 되지 않는다고 합니다. 크게 다른 설정을 하지 않는 이상 default값은 0입니다.
__v
필드를 다른 의미로 사용하기 위해 mongoose에 {versionKey:false}
옵션을 줘서 mongoose가 자동으로 __v
필드를 생성하지 못하게 할 수도 있습니다.
Passport Strategy
alias를 통해서 같은 passport strategy를 다르게 활용할 수 있습니다.
app.use('jwt', JwtStrategy);
app.use('adminJwt', AdminJwtStrategy)
요렇게 하면 jwt authenticate할때 관리자인증이 필요한 로직에는
router.get('/', authenticate('adminJwt'))
일반 유저 인증에는
router.get('/', authenticate('jwt'))
이렇게 분기할 수 있습니다.
Author And Source
이 문제에 관하여(TIL 20.12.22), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@suseodd/TIL-20.12.22저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)