mongodb __v 예제
// MongoDB 컬렉션 스키마 예제
const mongoose = require('mongoose');

const exampleSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true
  },
  age: {
    type: Number,
    required: true
  },
  __v: {
    type: Number,
    select: false // 조회 결과에서 제외
  }
});

const Example = mongoose.model('Example', exampleSchema);

module.exports = Example;

위의 코드에서 __v 필드는 MongoDB의 내부 버전 관리를 위해 자동으로 생성되는 필드입니다. 이 필드는 컬렉션의 도큐먼트 버전을 추적하는 데 사용됩니다.

특히, __v 필드를 사용하여 도큐먼트의 수정된 내용을 추적할 수 있습니다. MongoDB에서 도큐먼트를 업데이트할 때마다 __v 필드의 값을 증가시킵니다. 이를 통해 동시성 문제를 방지하고 데이터 정합성을 유지할 수 있습니다.

이러한 __v 필드는 기본적으로 조회 결과에 포함됩니다. 하지만 위의 예제에서는 __v 필드를 조회 결과에서 제외하기 위해 select: false 옵션을 사용하였습니다.

위의 예제를 참고하여 MongoDB에서 __v 필드를 활용하는 방법을 적용해 보실 수 있습니다.

#mongodb #mongoose