본문 바로가기

데이터베이스15

mongoose-express 데이터 필터링 이전까지 CRUD 기능을 단계별로 만들어 보았습니다. 이번에는 활용성이 높은 데이터 필터링 기능을 어떻게 만들면 되는지 직접 구현해 보겠습니다. Product 데이터 항목중 카테고리별 데이터 조회기능을 다음과 같이 단계적으로 만들어 봅니다. show.ejs에서 카테고리에 링크 추가하기 index.js 에서 카테고리 선택시 해당 카테고리 데이터만 필터링 기능 만들기 카테고리별 리스트에서 전체 Product 페이지로 돌아가기 1. 카테고리 링크 추가 및 필터링 라우트 설정 상세페이지의 category 데이터에 tag 통해서 이동할 라우터를 설정합니다. 라우터는 다음과 같이 두가지로 만들 수 있습니다. /categories/vegetable : 카테고리명으로 라우터 적용 /products?category=ve.. 2023. 8. 23.
mongoose-express 데이터 삭제하기 기본적인 데이터 처리작업인 CRUD 중에서 이번에는 Delete(삭제) 기능을 구현해보겠습니다. 상세페이지에 삭제 버튼 만들기 데이터 삭제 처리 및 삭제 후 초기화면으로 이동(redirect) 하기 1. 상세페이지 화면인 show.ejs 에 삭제 기능 구현 DELETE버튼을 추가하고 method중 delete를 처리하기 위해 method-override 를 이용해서 쿼리스트링으로 POST method를 DELETE로 변경하여 사용해보겠습니다. (...) Price $ Category All Products Edit Product Delete (...) 삭제기능버튼 선택시 delete method로 보내는데 라우트 설정이 되어 있지않아 오류납니다. 2. index.js에서 delete method 처리하기.. 2023. 8. 22.
mongoose-express 카테고리 선택자 자동 셋팅 이전 블로그에서 저장된 데이터를 불러와서 보여줄 때 select tag 특성상 저장된 데이터에 맞는 카테고리가 표출되지 않습니다. 즉, 카테고리가 정상적으로 보이지 않는데 이를 수정하기 위해 다음과 같이 저장된 카테고리와 일치된 카테고리가 선택되어 지도록 다음과 같이 개선해봅니다. [참고] 이전 블로그 2023.08.19 - [데이터베이스] - mongoose-express 데이터 업데이트 하기 mongoose-express 데이터 업데이트 하기 mongoose 데이터베이스에 입력한 데이터를 조회하여 업데이트하는 방법에 대해 알아봅니다. 조회할 데이터에 해당하는 id 를 URL에서 받아와서 데이터베이스에서 해당 id를 조회하여 기존에 신규 peter-codinglife.tistory.com 1. sele.. 2023. 8. 21.
mongoose-express 데이터 업데이트 하기 mongoose 데이터베이스에 입력한 데이터를 조회하여 업데이트하는 방법에 대해 알아봅니다. 조회할 데이터에 해당하는 id 를 URL에서 받아와서 데이터베이스에서 해당 id를 조회하여 기존에 신규 데이터 입력하기 위해 만든 폼에 데이터를 보여주고 수정하여 저장하도록 합니다. 1. index.js 데이터 수정 경로 추가 하기 데이터 조회하는 app.get("/products/:id") 을 복사하여 다음과 같이 수정합니다. const express = require("express"); const app = express(); const path = require("path"); const Product = require("./models/product"); const mongoose = require("m.. 2023. 8. 19.
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.
반응형