2 글 보임 - 1 에서 2 까지 (총 2 중에서)
-
글쓴이글
-
2022년 7월 2일 02:28 #37830
Heok Joon참가자<!DOCTYPE html> <html> <head> <!-- Required meta tags --> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Bootstrap CSS --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css" integrity="sha384-zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn" crossorigin="anonymous" /> </head> <body> <nav class="navbar navbar-expand-lg navbar-light bg-light"> Navbar <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation" > <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item active"> <a class="nav-link" href="#" >Home <span class="sr-only">(current)</span></a > <li class="nav-item"> Features <li class="nav-item"> Pricing <li class="nav-item"> Disabled </div> </nav>
<h4>상세페이지</h4>
<h4>제목: 2번게시물의 <%= data.이름 %></h4> <h4>제목: 2번게시물의 <%= data.비번 %></h4>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF" crossorigin="anonymous" ></script> </body> </html>
const express = require("express"); const app = express(); const bodyParser = require("body-parser"); const { Db } = require("mongodb"); app.use(bodyParser.urlencoded({ extended: true })); const MongoClient = require("mongodb").MongoClient; app.set("view engine", "ejs");
var db;
MongoClient.connect( "mongodb+srv://admin:asdf1234@cluster0.cvoub.mongodb.net/?retryWrites=true&w=majority", function (에러, client) { if (에러) return console.log(에러);
db = client.db("todoapp");
app.listen(8000, function () { console.log("listening on 8000"); }); } );
app.get("/", function (要請, 応答) { //pet으로 접속하면 .. 応答.sendFile(__dirname + "/index.html"); });
app.get("/write", function (req, 応答) { 応答.sendFile(__dirname + "/write.html"); });
//어떤사람이 /add 경로로 POST 요청을 하면 .. ??을 해주세요 app.post("/add", function (요청, 응답) { 응답.send("전송완료");
db.collection("counter").findOne( { name: "게시물갯수" },
function (에러, 결과) { console.log(결과.totalPost); var 총게시물갯수 = 결과.totalPost;
db.collection("post").insertOne( { _id: 총게시물갯수 + 1, 이름: 요청.body.이메일, 비번: 요청.body.비밀번호, }, function (에러, 결과) { console.log("저장완료"); //counter라는 콜렉션에 있는 totalPost 라는 항목도 1증가 시켜야함 db.collection("counter").updateOne( { name: "게시물갯수" }, { $inc: { totalPost: 1 } } ); } ); } ); });
app.get("/list", function (요청, 응답) { db.collection("post") .find() .toArray(function (에러, 결과) { console.log(결과); 응답.render("list.ejs", { posts: 결과 }); }); });
app.delete("/delete", function (요청, 응답) { console.log(요청.body); 요청.body._id = parseInt(요청.body._id); db.collection("post").deleteOne(요청.body, function (에러, 결과) { console.log("삭제완료"); 응답.status(200).send({ message: "성공했습니다" }); }); });
// /detail 로 접속하면 detail.ejs 보여줌 app.get("/detail/:id", function (RQS, RSP) { db.collection("post").findOne( { _id: parseInt(RQS.params.id) }, function (Err, Rslt) { console.log(Rslt); } ); RSP.render("detail.ejs", { data: RSP }); });
<=% => 문법을 잘못쓴것같은데 무엇이 문제일까요 ? 상세내용이 나오지 않습니다
2022년 7월 2일 09:42 #37835
codingapple키 마스터RSP.render("detail.ejs", 이걸 findOne 콜백함수안으로 옮깁시다 findOne으로 찾은데이터는 Rslt에 들어있을듯요
-
글쓴이글
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
- 답변은 로그인 후 가능합니다.