일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Spring
- 다형성
- qqOperater
- 자바
- js
- java
- dart
- int와 integer
- Sort()
- 리액트
- React
- git
- 오류
- 깃허브
- 코딩테스트
- 자바스크립트
- mybatis
- push함수
- Oracle
- 배열
- 네임드생성자
- 추상클래스
- 생성자
- 삼항연산자
- Pug
- 콘솔게임
- Middleware
- app.use
- DB
- Node.js
- Today
- Total
평행코드
Mongoose ( 스키마와 모델 ) 본문
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
'Node js' 카테고리의 다른 글
6/7 node.js static, 정렬 req.query (0) | 2023.06.08 |
---|---|
Async Await의 등장 (Callback function 콜백함수, Promise) (0) | 2023.05.31 |
Window에서 Chocolatey로 Mongodb설치하기! (mongod는 입력되지만 mogo가 입력되지 않는다면? mongodb shell을 설치하자!) (0) | 2023.05.31 |
req.body / express.urlencoded (0) | 2023.05.31 |
Mixins, HTML 코드를 재사용하는 방법 (0) | 2023.05.30 |