[Node JS] #5.2 Database

1772 단어 node jsnode js

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");
}

좋은 웹페이지 즐겨찾기