mongoose autoindex 예제

Mongoose의 autoindex 기능을 사용하면 스키마에 정의된 필드에 대한 인덱스가 자동으로 생성됩니다. 이를 통해 데이터 조회 작업의 속도를 향상시킬 수 있습니다.

아래는 Mongoose에서 autoindex를 사용하는 예제입니다:

const mongoose = require('mongoose');

// MongoDB에 연결
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true });

// 스키마 정의
const userSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true
  },
  age: {
    type: Number,
    required: true
  },
  email: {
    type: String,
    required: true,
    unique: true  // 중복되지 않는 값
  }
});

// 인덱스 자동 생성 설정
userSchema.set('autoIndex', true);

// 모델 생성
const User = mongoose.model('User', userSchema);

// 데이터 저장
const newUser = new User({
  name: 'John Doe',
  age: 25,
  email: 'johndoe@example.com'
});

newUser.save()
  .then(() => {
    console.log('데이터가 저장되었습니다.');
  })
  .catch((error) => {
    console.log('데이터 저장에 실패했습니다:', error);
  });

위 예제에서 userSchema.set('autoIndex', true);를 사용하여 스키마에 대해 자동 인덱싱을 활성화했습니다. 이렇게 설정하면 name, age, email 필드에 대한 인덱스가 자동으로 생성됩니다.

Mongoose의 autoindex는 기본적으로 활성화되어 있으며, 스키마 변경이나 인덱스를 수정해야 할 때에만 인덱스가 업데이트됩니다. 따라서 스키마를 수정했을 때 인덱스를 자동으로 업데이트하려면 autoIndex: true를 설정해야 합니다.

인덱스를 수동으로 생성하거나 관리하는 것도 가능하지만, Mongoose의 autoindex 기능을 사용하여 인덱스 생성 작업을 간편하게 처리할 수 있습니다.

#mongoose #autoindex