더북(TheBook)

19.4.2 모델 생성

 

모델을 만들 때는 mongoose.model 함수를 사용합니다. 스키마 아래쪽에 다음 코드를 입력하세요.

src/models/post.js

(...)

module.exports = mongoose.model(‘Post’, Post);

 

모델 인스턴스를 만들고, module.exports로 내보내 주었습니다. 여기에서 사용한 model() 함수는 기본적으로 파라미터가 두 개 필요합니다. 첫 번째 파라미터는 스키마 이름이고, 두 번째 파라미터는 스키마 객체입니다. 데이터베이스는 스키마 이름을 정해 주면 이 이름의 복수 형태로 데이터베이스에 컬렉션 이름을 만듭니다.

예를 들어 스키마 이름을 Post로 설정하면 실제 데이터베이스에 만드는 컬렉션 이름은 posts입니다. BookInfo로 입력하면 bookinfos를 만듭니다.

MongoDB에서 컬렉션 이름을 만들 때 컨벤션은 구분자를 사용하지 않고, 복수 형태로 사용하는 것입니다. 이 컨벤션을 따르고 싶지 않다면 다음 코드처럼 세 번째 파라미터에 여러분이 원하는 이름을 입력하면 됩니다.

mongoose.model(‘Post’, Post, ‘custom_book_collection’);

 

모델을 만들 때 첫 번째 파라미터로 쓰는 이름은 나중에 다른 스키마에서 현재 스키마를 참조해야 하는 상황에서 사용합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.