티스토리 뷰
[참고자료]
What is the "__v" field in Mongoose
I'm using Mongoose version 3 with MongoDB version 2.2. I've noticed a __v field has started appearing in my MongoDB documents. Is it something to do with versioning? How is it used?
stackoverflow.com
Mongoose v6.5.4: Schemas
If you haven't yet done so, please take a minute to read the quickstart to get an idea of how Mongoose works. If you are migrating from 5.x to 6.x please take a moment to read the migration guide. Everything in Mongoose starts with a Schema. Each schema ma
mongoosejs.com
__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) 를 업데이트 하지 않습니다.
'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
- nestjs
- OS
- 디지털디톡스
- MySQL
- 스마트폰중독
- 습관개선
- typeORM
- Mongoose
- vscode
- 클린아키텍쳐
- nestjs jest
- Nest.js
- 개발용어
- 갓생살자
- TypeScript
- node.js
- gem
- 나도 할 수 있다
- IT용어
- git
- 바이트디그리
- TDD
- Jekyll
- 한달어스
- RDBMS
- 한달독서
- 참고
- jest
- MongoDB
- 미완
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |