반응형
갑자기 mongoDB에 새로운 db를 연결해서 데이터를 넣었는데 갑자기 처음본 _v 필드가 나왔다.
모델 스키마에 존재하지 않는데 왜지 ??? 찾다가 versionKey 값을 넣어주면 되었다.
해결 : 모델 스키마 두 번째 인자값 옵션에 versionKey: false를 작성해주기
const addressSchema: Schema<IAddress> = new Schema<IAddress>(
{
// 지역
region: String,
// 시군구
siGunGuName: String,
// 읍면동
eupMyeonDongName: String,
// 연결된 주소 (pk)
chainedAddress: String,
},
{
timestamps: { createdAt: true, updatedAt: true },
read: 'secondaryPreferred',
versionKey: false, // 이 부분 @
typeKey: '$type',
},
);
이렇게 하니 _v 없이 데이터가 잘 들어갔다.
versionKey의 기능은 처음 Mongoose에 의해 도큐먼트가 생겼을 때 도큐먼트의 내부 revision을 담아 필드로 남기는 것이라고 한다. 해당 key의 디폴트 값이 _v 이어서 field에 _v key값으로 나왔던 것 이었다.
Reference : https://stackoverflow.com/questions/12495891/what-is-the-v-field-in-mongoose
반응형