본문 바로가기

전체 글110

mongoose-express 신규데이터 입력폼 만들기 이전 블로그에서 데이터베이스에 저장된 데이터에 대한 상세 화면을 만들어 보았습니다. 2023.08.12 - [데이터베이스] - mongoose-express 상세페이지 만들기 이제 신규 product를 입력하고 데이터베이스에 저장하는 기능을 만들어 보겠습니다. 우선 입력 폼과 그 폼을 제출할 두 개의 라우트가 필요합니다. 기존 index.js 에서 신규 상품을 입력하는 라우트로 app.get 으로 products/new 를 추가하고, 입력한 폼을 제출하기 위한 라우트로 app.post 로 products 에 신규 상품을 추가합니다. (...) app.get("/products", async (req, res) => { const products = await Product.find({}); res.ren.. 2023. 8. 12.
mongoose-express 상세페이지 만들기 앞서서 mongose와 express를 통해서 기본적인 CRUD 기능을 만들어 볼 수 있습니다. 일반적인 커머스 사이트에서 상품 목록을 선택하면 상세 페이지에서 해당 상품의 세부 내용을 확인할 수 있습니다. 이제 데이터베이스에 등록한 Product 리스트를 조회하는 페이지를 만들었고, 이제 단일 Product의 상세 페이지를 만들어 보겠습니다. Product를 조회하기 위해 URI에 Product 이름의 경우 중복이 될 수 있으므로 중복되지 않는 mongoDB의 id 를 사용하도록 합니다. Product 이름의 중복, 띄어 쓰기 등 여러가지 문제 발생 사항을 고려하여 고유값인 URL Slugs 를 이용하면 됩니다. What is URL slug ? 더보기 A URL slug is a part that c.. 2023. 8. 12.
mongoose-express 데이터 조회 페이지 mongo DB에 저장된 데이터를 조회하여 웹페이지에 간단하게 표출해 봅니다. 라우트를 적용 (url : localhost:3000/products)하여 콜백을 이용해서 데이터 조회되도록 아래와 같이 작성합니다. 데이터베이스에서 조회하기 때문에 조회시간을 고려하여 비동기 조회로 async /await 을 사용합니다. const express = require("express"); const app = express(); const path = require("path"); const Product = require("./models/product"); const mongoose = require("mongoose"); mongoose .connect("mongodb://127.0.0.1:27017/far.. 2023. 8. 5.
mongoose - express 모델 만들기 express 를 통한 데이터의 CRUD를 구현해 보고자 합니다. 간단한 예제로 농장의 가판대에서 파는 농작물 재고관리하는 앱을 만들어 봅니다. 일반적인 애플리케이션에서는 다양한 모델이 있을 수 있으므로 복잡하게 하나의 파일에서 관리하기 보다는 모델별로 나눠서 관리하는 것이 효율적 입니다. 1. 모델 만들기 models 디렉토리를 만들고, product.js 파일에 product 모델을 다음과 같이 만듭니다. Schema 속성에 required 는 필수 입력 값으로 선언한 것이며, min 은 최소값, 카테고리는 세개를 선언하고, lowercase로 첫글자 대문자 입력을 제한합니다. 이와 같이 데이터 입력시 유효성을 확인할 수 있도록 합니다. const mongoose = require("mongoose".. 2023. 8. 5.
mongoose와 express 연결하기(Node.js) 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!").. 2023. 8. 5.
mongoose 데이터 삭제하기 - REPL 사용 지금까지 데이터 신규 입력, 조건에 맞는 데이터 찾기를 해보았습니다. 이제 데이터 삭제하는 방법을 알아보겠습니다. 기본적으로는 삭제할 데이터를 먼저 찾고 해당 데이터를 삭제하는 것 입니다. 사용하는 메서드 입니다. Model.findByIdAndRemove() Model.findOneAndRemove() Mongoose v7.4.1: Model Parameters: doc «Object» values for initial set [fields] «Object» optional object containing the fields that were selected in the query which returned this document. You do not need to set this parameter .. 2023. 7. 30.
반응형