๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

JS/Node.js7

[Node.js] : ํšŒ์›๊ฐ€์ž…์‹œ ์ด๋ฉ”์ผ ์ธ์ฆ ๋กœ์ง ๊ตฌํ˜„ํ•˜๊ธฐ. ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์€ ๊ธฐ๋Šฅ ํšŒ์›๊ฐ€์ž…์‹œ์— ์ž‘์„ฑํ•œ ์ด๋ฉ”์ผ์„ ํ†ตํ•ด์„œ ํšŒ์›๊ฐ€์ž… ์ธ์ฆ์„ ๊ฑฐ์น˜๋Š” ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๊ณ  ์‹ถ์Œ. (ํ˜„์žฌ Nodemailer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„์ค‘์— ์žˆ์œผ๋ฉฐ, ์—ฌ๋Ÿฌ ์˜ค๋ฅ˜๋“ค์„ ๋งŒ๋‚˜์„œ, ์ฝ”๋“œ ํ•˜๋‚˜ํ•˜๋‚˜์˜ ์—ญํ• ์„ ํŒŒ์•…์ค‘์— ์žˆ๋‹ค.) ์šฐ์„  ์ง€๊ธˆ๊นŒ์ง€์˜ ๊ณผ์ •์„ ๋‚˜์—ดํ•˜๊ณ  ๋งŒ๋‚œ ์˜ค๋ฅ˜๋“ค์„ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. ์‚ฌ์šฉํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ // package.json "dependencies": { "cookie-parser": "^1.4.6", "dotenv": "^16.3.1", "express": "^4.18.2", "jsonwebtoken": "^9.0.1", "mysql2": "^3.5.1", "nodemailer": "^6.9.3", "sequelize": "^6.32.1" }, "devDependencies": { "nodem.. 2023. 7. 19.
[Node.js] : ํ”„๋กœ์ ํŠธ ๊ธฐ๋ณธ ์„ธํŒ… package.json ํŒŒ์ผ ์ƒ์„ฑ npm init -y ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ npm i sequelize ์„ค์น˜ npm i sequelize // ํ„ฐ๋ฏธ๋„์—์„œ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด sequelize๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด npm i sequelize-cli config ํด๋” ์ƒ์„ฑ // sequelize๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑ npx sequelize init // config ํด๋”๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค. ์ด์ œ DB์—ฐ๊ฒฐํ•˜๊ณ  ์ž‘์—… ์‹œ์ž‘. #์„œ๋ฒ„์„ธํŒ… #sequelize #๊ธฐ๋ณธ์„ธํŒ… 2023. 7. 17.
[package.json] : ์„ค์น˜ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ญ์ œ ๋ฐฉ๋ฒ• ํ˜„์žฌ ์„ค์น˜๋œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘์—์„œ mysql์„ ์‚ญ์ œํ•˜๊ณ  ์‹ถ๋‹ค. npm uninstall ํ•ด๋‹น ๋ช…๋ น์–ด๋กœ ์„ค์น˜ํ–ˆ๋˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๋Š”๊ฑธ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค. #๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ_์‚ญ์ œ #uninstall 2023. 7. 17.
[Sequelize] : Posts.findAll(...).sort is not a function ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๊ธฐ์กด mongoDB๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋ถ€๋ถ„์—์„œ Sequelize๋ฅผ ์ ์šฉํ•ด SQL๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ ์ฝ”๋“œ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ๋‹ค. ์˜ค๋ฅ˜ ๋ฐœ๊ฒฌ ๋ถ€๋ถ„ // ../routes/posts.js router.get('/posts', async (req, res) => { try { // ์ƒ์„ฑ๋‚ ์งœ ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ณ , posts์— ํ• ๋‹น. const posts = await Posts.findAll({}).sort('-createdAt').exec(); (...) } }) ๊ธฐ์กด์— ์ „์ฒด ๊ฒŒ์‹œ๊ธ€์„ ์กฐํšŒํ•˜๊ณ  ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ์‹œํ‚ค๋Š” ๋ถ€๋ถ„์—์„œ ์˜ค๋ฅ˜ ๋ฐœ์ƒ ์˜ค๋ฅ˜ ๋‚ด์šฉ Posts.findAll(...).sort is not a function ์œ„ ์ฝ”๋“œ๋ฅผ ํ•จ์ˆ˜๋กœ ์•Œ์•„๋“ฃ์ง€ ๋ชปํ•˜๋„ค์š” ์ด์œ  sort ๋ฉ”์„œ๋“œ์™€ exec ๋ฉ”์„œ๋“œ๋Š” mongoDB.. 2023. 7. 14.
[Node.js] : Sequelize ์˜ค๋ฅ˜ TypeError: Users.findOne is not a function ๋” ์ด์ƒ์€ ์ด ์˜ค๋ฅ˜์— ์‹œ๊ฐ„์„ ์Ÿ์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ ์ •๋ฆฌํ•œ๋‹ค. ์ด ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๊ณ  ์ง€๊ธ‹์ง€๊ธ‹ํ•˜๊ฒŒ ํ•ด๋งธ์Œ.... ๋”ฑ ์ด 5๊ฐ€์ง€ // 1๋ฒˆ : ์ •์ƒ์ฝ”๋“œ const { Users } = require('../models'); // 2๋ฒˆ : TypeError: Cannot read properties of undefined (reading 'findOne') const { Users } = require('../models/users'); // 3๋ฒˆ ~ 5๋ฒˆ : TypeError: Users.findOne is not a function const Users = require('../models'); const Users = require('../models/users'); const Users = require('.. 2023. 7. 13.
[Node.js] : mongoose schema๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ์ €์žฅ ํ•˜๊ณ ์ž ํ•˜๋Š” ์ผ ์Šคํ‚ค๋งˆ๋ฅผ ์ด์šฉํ•œ DB์ ‘๊ทผ ๋ฐ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ์Šคํ‚ค๋งˆ๋ž€ ? ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ตฌ์กฐ์™€ ํƒ€์ž…์„ ๊ฒฐ์ •ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๋Š” ๊ฐœ๋…์ด๋‹ค. ๋ชฝ๊ณ ๋””๋น„ ์—ฐ๊ฒฐ mongoose ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ npm i mongoose ์„ค์น˜ํ•œ mongoose๋ฅผ ํ†ตํ•ด mongoDB์˜ ํฌํŠธ์ธ 27017๊ณผ ๋‚ด ์ž‘์—…ํด๋” ์—ฐ๊ฒฐํ•˜๊ธฐ // /schemas/index.js const mongoose = require('mongoose'); const connect = () => { mongoose .connect('mongodb://localhost:27017/3-personal-assignment-create-backend-server') .catch((err) => console.log(err)); }; mongoose.connection... 2023. 6. 16.