๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[CRUD์ ์ด์ฉํ File upload Web] (2) MongoDB Compass ๋ฐ session ์ฐ๊ฒฐ ๋ณธ๋ฌธ
๐ฉ๐ป ๋ฐฑ์๋(Back-End)/Node js
[CRUD์ ์ด์ฉํ File upload Web] (2) MongoDB Compass ๋ฐ session ์ฐ๊ฒฐ
์ง์ง์ํ์นด 2023. 3. 8. 01:05728x90
๋ฐ์ํ
<๋ณธ ๋ธ๋ก๊ทธ๋ DCodeMania ์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-)>
=> CRUD App With Image Upload Using NodeJs, ExpressJs, MongoDB & EJS Templating Engine
๐ฅ MongoDB Compass ์ฐ๊ฒฐ
๐ง MongoDB ์ฐ๊ฒฐ ํ Database ์์ฑ
๐ง .env ์ MONGODB_URI ์ถ๊ฐ
๐ฅ Express-session ์ฐ๊ฒฐ
: ์ธ์ ๊ด๋ฆฌ์ฉ ๋ฏธ๋ค์จ์ด
1. ํ์ผ์ ์ ์ฅ
2. DB์ ์ ์ฅ
3. Memory ์ ์ ์ฅ
๐ง index.js
// imports
require("dotenv").config();
const express = require("express");
const mongoose = require("mongoose");
const session = require("express-session");
// express-session
// 1. ํ์ผ์ ์ ์ฅ
// 2. DB์ ์ ์ฅ
// 3. Memory ์ ์ ์ฅ
const app = express();
const PORT = process.env.PORT || 8000;
// Database ์ฐ๊ฒฐ
mongoose.connect(process.env.MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true }); // useNewUrlParser : ์๋ฌ ๋ฐฉ์ง
const db = mongoose.connection;
db.on("error", (error) => console.log(error));
db.once("open", () => console.log("๐ Connected to the database!"));
// Middleware ์ฐ๊ฒฐ
app.use(express.urlencoded({ extended: false }));
app.use(express.json()); // JSONํํ์ ๋ฐ์ดํฐ๋ฅผ ํด์
app.use(session({
secret: process.env.SECRET, // ์ํธํ๋ฅผ ์ํ keygen. ๋ณดํต env์ ๋ฃ์ด์ ์ ๋ฌ
saveUninitialized: true, // ์ธ์
์ ์ ์ฅํ ๋ด์ญ์ด ์๋๋ผ๋ ์ฒ์๋ถํฐ ์ธ์
์ ์์ฑํ ์ง ์ค์
resave: false, // ์ธ์
์ ์ธ์ ๋ ์ ์ฅํ ์ง ์ค์ ํจ
cookie: { // ์ฟ ํค์ ์ ํจ์๊ฐ
maxAge: 86400000, // 24 hours (= 24 * 60 * 60 * 1000 ms)
},
})
);
app.use((req, res, next) => {
res.locals.message = req.session.message;
delete req.session.message;
next();
});
app.get("/", (req, res) => {
res.send("Hello World");
});
app.listen(PORT, () => {
console.log(`server started at ๐ http://localhost:${PORT}`);
});
728x90
๋ฐ์ํ
'๐ฉโ๐ป ๋ฐฑ์๋(Back-End) > Node js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CRUD์ ์ด์ฉํ File upload Web] (4) ejs๋ก ๋ฉ์ธ html ๋ง๋ค๊ธฐ (0) | 2023.03.10 |
---|---|
[CRUD์ ์ด์ฉํ File upload Web] (3) router ์ schema ์ฐ๊ฒฐ (0) | 2023.03.10 |
[CRUD์ ์ด์ฉํ File upload Web] (1) node js๋ก ๋ก์ปฌ ์๋ฒ ๋์ฐ๊ธฐ (0) | 2023.03.08 |
[ํ์๊ฐ์ , ๋ก๊ทธ์ธ API ์ธ์ฆํ๊ธฐ] Node JS using JWT & MongoDB (0) | 2023.02.25 |
MVC ํจํด๊ณผ REST API ์๋ ์๋ฆฌ (0) | 2023.02.03 |
Comments