[Node JS] #5.2 Database
Model
- model을 만드는 이유
- mongoose에게 data가 어떻게 생겼는지 전달해야함.
- mongoose는 그 틀을 바탕으로 object의 틀을 강제함.
- model은 object의 model이 됨.
- shape는 보통 스키마라고 부름.
- 사용법: 스키마 정의 - mongoose.model 정의, export-import,
import mongoose from "mongoose";
const videosSchema = new mongoose.Schema({
title: String,
description: String,
createdAt: Date,
hashtags: [{ type: Array }],
meta: {
views: Number,
rating: Number,
},
});
const Video = mongoose.model("Video", videosSchema);
export default Video;
import "./models/video";
CRUD
- CRUD = create, read, update, delete
- 데이터를 생성하고 읽고 수정하고 삭제하는 행위
-- model crud function을 사용하는 두 가지 방법
1. callback: 무언가가 발생하고 난 뒤 호출되는 function
- example)
app.listen(Port, handleListening);
- app.listen 함수 실행 후 configuration에 적합하면, handler 실행
-database의 전송 속도가 느릴 경우, 기다려야 할 수 있음.
- plement
- } : configuration, 비워두면 모든 항목을 찾아옴.
- err, vieos) => {} : explanation, handler
Video.find({}, (error, videos) => {
console.log("errors", error);
console.log("videos", videos);
});
2. promise (callback의 최신버전?)
- async await을 이용한 비동기 처리
- error는 try catch를 이용한 예외 처리
- await은 database가 끝나기를 기다린다.
- await은 async 안의 function에서만 사용 가능하다.
- try{}cath{}: try 안의 코드를 실행하다 에러가 발생하면, cath{} 안의 코드를 실행한다.
- implement
try {
const videos = await Video.find({});
return res.render("home", { pageTitle: "home", videos: [] });
} catch {
return res.render("server-error");
}
Author And Source
이 문제에 관하여([Node JS] #5.2 Database), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@choiish98/Node-JS-5.2-Database
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import mongoose from "mongoose";
const videosSchema = new mongoose.Schema({
title: String,
description: String,
createdAt: Date,
hashtags: [{ type: Array }],
meta: {
views: Number,
rating: Number,
},
});
const Video = mongoose.model("Video", videosSchema);
export default Video;
import "./models/video";
- CRUD = create, read, update, delete
- 데이터를 생성하고 읽고 수정하고 삭제하는 행위
-- model crud function을 사용하는 두 가지 방법
1. callback: 무언가가 발생하고 난 뒤 호출되는 function
- example)
app.listen(Port, handleListening);
- app.listen 함수 실행 후 configuration에 적합하면, handler 실행
-database의 전송 속도가 느릴 경우, 기다려야 할 수 있음. - plement
- } : configuration, 비워두면 모든 항목을 찾아옴.
- err, vieos) => {} : explanation, handler
Video.find({}, (error, videos) => {
console.log("errors", error);
console.log("videos", videos);
});
2. promise (callback의 최신버전?)
- async await을 이용한 비동기 처리
- error는 try catch를 이용한 예외 처리
- await은 database가 끝나기를 기다린다.
- await은 async 안의 function에서만 사용 가능하다.
- try{}cath{}: try 안의 코드를 실행하다 에러가 발생하면, cath{} 안의 코드를 실행한다.
- implement
try {
const videos = await Video.find({});
return res.render("home", { pageTitle: "home", videos: [] });
} catch {
return res.render("server-error");
}
Author And Source
이 문제에 관하여([Node JS] #5.2 Database), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@choiish98/Node-JS-5.2-Database저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)