평행코드

Mongoose ( 스키마와 모델 ) 본문

Node js

Mongoose ( 스키마와 모델 )

나의 오류는 누군가 겪었던 오류 2023. 5. 31. 20:57

Schemas

스키마 : 물리적인 장치로부터 논리적인 데이터 베이스 레코드를 매핑하는데 사용되는 정의 정보를 말합니다.

또한 데이터 모델에 의거하여 데이터베이스의 성질을 형식적으로 기술한 것입니다.

 

몽구스의 모든 것은 스키마로 시작합니다.

각 스키마는 MongoDB 컬렉션에 매핑되고 해당 컬렉션 내 문서의 모양을 정의합니다.

const videoSchema = new mongoose.Schema({
    title : String,
    description: String,
    createdAt: Date,
    hashtags: [{ type: String }],
    meta: {
        views: Number,
        rating: Number,
    },
});

보시면, 문서의 각 항목이 어떤 형식인지 정의가 되어있습니다.

제목은 문자열 형태이고 createdAt 는 날짜형식입니다.

 

https://mongoosejs.com/docs/guide.html#schemas

 

Mongoose v7.2.2: Schemas

If you haven't yet done so, please take a minute to read the quickstart to get an idea of how Mongoose works. If you are migrating from 6.x to 7.x please take a moment to read the migration guide. Everything in Mongoose starts with a Schema. Each schema ma

mongoosejs.com

Models

mongoose.model(modelName, schema):
모델은 스키마 정의에서 컴파일된 멋진 생성자이며,

스키마를 통해서 만드는 인스턴스입니다.

const Video = mongoose.model("Video", videoSchema);
export default Video;

mongoose.model 을 통하여 우리가 만든 스키마를 모델로 변환하고

다른 파일에서 불러와서 사용 할 수 있도록 내보내주었습니다.

model 함수에선 기본적으론 두개의 파라미터를 필요로합니다.

첫번째는 파라미터는 해당 스키마의 이름이고, 두번째는 스키마 객체입니다.

 

모델의 인스턴스를 document라고 합니다. 

모델은 기본 MongoDB 데이터베이스에서 문서를 만들고 읽습니다.


https://mongoosejs.com/docs/guide.html#models
https://mongoosejs.com/docs/models.html