mongoose schema _id 예제

Mongoose는 MongoDB와 함께 사용되는 JavaScript 기반의 객체 문서 매핑(ODM) 라이브러리입니다. Mongoose에서는 스키마를 정의하여 MongoDB 컬렉션의 구조를 지정할 수 있습니다. Mongoose 스키마에서 _id 필드는 기본적으로 자동으로 생성되는 고유 식별자입니다.

아래는 Mongoose 스키마에서 _id 필드를 사용하는 간단한 예제입니다.

const mongoose = require('mongoose');

// 스키마 정의
const userSchema = new mongoose.Schema({
  _id: { type: mongoose.Types.ObjectId, default: mongoose.Types.ObjectId() },
  name: { type: String, required: true },
  age: { type: Number },
  email: { type: String, required: true, unique: true },
});

// 컬렉션 생성 및 모델 정의
const User = mongoose.model('User', userSchema);

// 도큐먼트 생성
const user = new User({
  name: 'John Doe',
  age: 25,
  email: 'john.doe@example.com',
});

// 도큐먼트 저장
user.save()
  .then((savedUser) => {
    console.log('저장된 도큐먼트:', savedUser);
  })
  .catch((error) => {
    console.error('도큐먼트 저장 에러:', error);
  });

위의 예제에서는 _id 필드를 사용하여 사용자 도큐먼트에 고유한 식별자를 할당합니다. 이 필드는 mongoose.Types.ObjectId 데이터 유형으로 정의되며, default 속성을 통해 자동으로 생성되도록 설정되었습니다. 따라서 _id 필드를 별도로 지정하지 않으면 Mongoose가 자동으로 식별자를 생성하여 할당합니다.

또한, 다른 필드들의 예시로 name, age, email이 포함되어 있습니다. nameemail 필드는 필수로 지정되어 있으며, email 필드에는 unique 속성이 추가되어 중복된 값을 허용하지 않도록 설정되어 있습니다.

Mongoose 스키마를 사용하여 데이터베이스의 구조를 정의하는 것은 MongoDB 데이터를 관리하고 조작하는 데 매우 유용하며, _id 필드를 활용하여 고유한 식별자를 할당할 수 있습니다.

#Mongoose #MongoDB