공부내용정리/Mongo

Mongoose 모델(1)

코딩하는망아치 2023. 8. 2. 21:22

스키마 정의 하기

index.js에 아래와 같은 소스코드를 작성하여 스키마를 정의한다.

// MovieSchema 생성하기
const movieSchema = new mongoose.Schema({
    title: String,
    year: Number,
    socre: Number,
    rating: String
})

=> 결과

위와 같이 스키마를 정의하는데는 데이터 베이스에 아무련 영향을 주진 않는다.

 

스키마를 이용하여 모델 만들기

// mongoose.model('첫글자는 대문자에 단수형이어야함', 모델을 만드는데 사용할 스키마)
// Movie라는 모델 클래스 생성
const Movie = mongoose.model('Movie', movieSchema)

=> 결과

터미널에서 Movie 모델 출력해보기

 

터미널에서 위와 같이 입력후 터미널 창에서 amadeus 라고 입력하면 아래와 같은 결과가 출력된다. 위에서 생성한 Amadeus에 접근가능.

아직 몽고 쉘에서 db를 조회 해보면 아래와 같이 아무것도 뜨지 않는것을 볼수 있다.

아래와 같은 명령어를 입력하여 db에 저장할수 있다

저장후 다시 조회를 해보면 아래와 같이 결과가 반환 되는것을 볼수 있다.

영화의 평점 변경하기 or 추가하기

위에서 amadeus의 데이터를 생성할때 실수로 score를 누락한 상태에서 아래와 같이 명령어를 입력하였더니 자동으로 amadeus에 score라는 데이터가 추가되는것이 확인됨.

=> 결과