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
이 포함되어 있습니다. name
과 email
필드는 필수로 지정되어 있으며, email
필드에는 unique
속성이 추가되어 중복된 값을 허용하지 않도록 설정되어 있습니다.
Mongoose 스키마를 사용하여 데이터베이스의 구조를 정의하는 것은 MongoDB 데이터를 관리하고 조작하는 데 매우 유용하며, _id
필드를 활용하여 고유한 식별자를 할당할 수 있습니다.
#Mongoose #MongoDB