목록스터디 (57)
안녕하세요
1. 회원가입할 때 아이디 중복체크 app.post("/register", (요청, 응답) => { db.collection("login").findOne({ id: 요청.body.id }, (에러, 결과) => { => 아이디가 있는지 찾아서, 있으면 이거 실행 if (결과) { 응답.redirect("/login"); => 없으면 이거 실행 } else { db.collection("login").insertOne({ id: 요청.body.id, pw: 요청.body.password }, (에러, 결과) => { 응답.redirect("/"); }); } }); }); 2. ID, Password 유효성 검사 (HTML도 하고 server도 해야함) SERVER. 요청받은 데이터의 유효성을 검사하여 ..
1. 게시물을 작성한 사람이 누구라는 표시를 남깁니다. app.post("/add", (요청, 응답) => { 응답.send(`/add로 POST 전송 성공했다.`); db.collection("counter").findOne({ name: "게시물수" }, (에러, 결과) => { const 총게시물갯수 = 결과.totalPost; const 저장할데이터 = { _id: 총게시물갯수, 작성자: 요청.user._id, 제목: 요청.body.title, 날짜: 요청.body.date }; db.collection("post").insertOne(저장할데이터, (에러, 결과) => { db.collection("counter").updateOne({ name: "게시물수" }, { $inc: { totalP..
이진탐색으로 게시물 찾기 1. 이진탐색이 어떤거죠? id가 1~100의 게시물이 있다면 , 50이상인지 확인 > 75이상인지 확인 > 87이상인지 확인... 이렇게 범위를 절반으로 좁혀나가며 찾는 방식으로 순서대로 정렬되어있는 경우에 이용 가능합니다. id는 보면 순서대로 정렬이 되어있지만, 제목은 정렬이 되어있지 않기 때문에 이를 정렬해야 이진탐색을 이용할 수 있습니다. 그러기 위해서는 이 제목을 정렬된 collection으로 만들어야 합니다. 원본을 수정하는 것이 아니라. 문자열로 정렬된 사본을 만드는 것입니다. indexing: 정렬된 collection 사본을 만드는 것 2. Text Indexing을 해봅시다. 게시물 정렬을 직접 하는 것이 아니라 DB에서 기능을 지원해줍니다. indexing을..
1. query string 으로 url에 입력된 값을 서버로 전달하기 검색어를 입력하고 제출을 하게 되면 url 을 /list?아무변수이름=검색어 형태로 redirection 하면 된다. 2. 검색창을 만들어줍니다. 검색 3. 유저가 검색 input에 입력한 값을 query 문으로 전달합니다. $('#search').click(()=> { const searchInput = $('#search-input').val() window.location.replace("/search?value=" + searchInput) => 이렇게 작성하여 GET요청과 동일하게 동작하여 URL을 바꿀 수 있다. }) value는 정해진 값이 아니라 아무렇게나 작성하면 되는 변수명이고, 밥먹기는 검색창에 입력한 값. +++..