반응형
express 프레임워크를 통해 mongoose를 연결해 보겠습니다.
mongoose-express 디렉토리를 만들고 아래와 같이 초기 셋팅을 합니다.
>npm init -y
>npm i express ejs mongoose
index.js 에서 express 와 연결하도록 합니다.
const express = require("express");
const app = express();
const path = require("path");
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
app.listen(3000, () => {
console.log("APP IS LISTENING ON PORT 3000!");
});
app.get을 이용하여 간단한 경로를 추가하고, 브라우저에서 정상 표출되는지 확인해봅니다.
const express = require("express");
const app = express();
const path = require("path");
app.set("views", path.join(__dirname, "views"));
app.set("view engine", "ejs");
app.get("/dog", (req, res) => {
res.send("WOOF!");
});
app.listen(3000, () => {
console.log("APP IS LISTENING ON PORT 3000!");
});
이제 mongoose 로 데이터베이스를 연결합니다.
정상적으로 연결되면 mongo connection open 메시지가 표출됩니다.
const express = require("express");
const app = express();
const path = require("path");
const mongoose = require("mongoose");
mongoose
.connect("mongodb://127.0.0.1:27017/movieApp", { useNewUrlParser: true })
.then(() => {
console.log("mongo connection open !!!");
})
.catch((err) => {
console.log("OH NO mongo connection error !!!");
console.log(err);
});
(...)
[참고] EJS(Embeded Javascript Template) 템플릿 엔진이란?
템플릿을 읽어서 엔진의 문법과 설정에 따라 html 형식으로 변환시키는 모듈입니다.
기본 사용법은 html 에서 <% %> 를 사용하여 서버의 데이터를 사용하거나 코드를 실행시킬 수 있습니다.
특히 html 태그 처럼 자바스크립트 내용을 삽입할 수 있어서 view engine으로 ejs 를 사용합니다.
예시)
express에서 View engine 사용하기
const app = express();
app.set('view engine', 'ejs'); //view engine이 사용할 Template Engine
app.set('views', path.join(__dirname, 'views')); // Template가 있는 디렉토리
<% if (user) { %>
<h2><%= user.name %></h2>
<% } %>
Tags
- <% 'Scriptlet' tag, for control-flow, no output
- <%_ ‘Whitespace Slurping’ Scriptlet tag, strips all whitespace before it
- <%= Outputs the value into the template (HTML escaped)
- <%- Outputs the unescaped value into the template
- <%# Comment tag, no execution, no output
- <%% Outputs a literal '<%'
- %> Plain ending tag
- -%> Trim-mode ('newline slurp') tag, trims following newline
- _%> ‘Whitespace Slurping’ ending tag, removes all whitespace after it
반응형
'데이터베이스' 카테고리의 다른 글
mongoose-express 데이터 조회 페이지 (0) | 2023.08.05 |
---|---|
mongoose - express 모델 만들기 (0) | 2023.08.05 |
mongoose 데이터 삭제하기 - REPL 사용 (0) | 2023.07.30 |
mongoose로 데이터 찾기 (0) | 2023.07.26 |
mongoose로 대량의 데이터 입력하기 (0) | 2023.07.24 |