티스토리 뷰
728x90
반응형
[참고자료]
__v 필드 는 versionKey 를 의미합니다.
해당 다큐먼트의 버젼을 나타냅니다.
모든 다큐먼트에 _id가 있듯 __v 필드도 다큐먼트 생성할때 자동으로 만들어집니다.
__v 필드의 기본값은 0 입니다.
versionKey 는 몽구스로부터 처음으로 만들어진 각 다큐먼트의 프로퍼티 입니다.
versionKey 옵션은 버젼을 나타내기 위한 문자열 입니다.
다큐먼트의 버젼을 나타내는 __v 필드를 사용하지 않다면
되도록이면 __v 필드와 버젼을 나타내는 작업을 더이상 하지 않는 경우가 아니라면 disable을 시키지 않는게 좋습니다.
즉, __v 필드로 버젼을 나타내도록 그대로 두는게 좋습니다.
그럼에도 버젼을 나타내는것을 그만두고 싶다면
versionKey 옵션에 false 를 표기하면 됩니다.
new Schema({ ... }, { versionKey: false });
const Thing = mongoose.model("Thing", schema);
const thing = new Thing({ name: 'no versioning please' });
thing.save();
mongoose는 save() 를 호출할 때마다 __v(versionKey) 를 업데이트 합니다.
update(), findOneAndUpdate() 를 호출할 경우에는 __v(versionKey) 를 업데이트 하지 않습니다.
728x90
반응형
'Backend > 꾸준히 TIL' 카테고리의 다른 글
[CI/CD] Error: listen EADDRINUSE: address already in use :::5000 (0) | 2022.09.05 |
---|---|
[CI/CD] Error: Missing required flag: -a, --app App app to run command against See more help with --help 에러 (0) | 2022.09.05 |
bcrypt 설치 관련 에러 (0) | 2022.08.29 |
[mongodb] $in 와 $exist operator (0) | 2022.08.29 |
vscode prettier 적용하기 (2) | 2022.08.29 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 개발용어
- 한달어스
- 클린아키텍쳐
- MySQL
- gem
- 참고
- nestjs
- vscode
- nestjs jest
- MongoDB
- git
- 한달독서
- 나도 할 수 있다
- TypeScript
- 디지털디톡스
- Nest.js
- node.js
- Jekyll
- 바이트디그리
- 미완
- Mongoose
- TDD
- IT용어
- typeORM
- 습관개선
- RDBMS
- 스마트폰중독
- OS
- jest
- 갓생살자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
글 보관함