passort passport는 Node.js에서 인증을 관리하기 위한 미들웨어로, Express와 함께 사용하기에 용이합니다 Express 애플리케이션에 passport를 적용하면, 요청을 처리하기 전에 passport가 인증 과정을 수행하고, 인증된 사용자 정보를 요청 객체(request object)에 저장합니다. 이렇게 저장된 사용자 정보는 라우트 핸들러에서 사용되어 로그인 상태를 확인하거나 인증된 사용자만 접근 가능한 기능을 구현하는 데 활용될 수 있습니다. passort 세팅 npm install passport passport-local 먼저 npm으로 passport를 설치합니다. passport-local는 로컬환경에서 인증하기 위한 라이브러리입니다. 그 후, 서버에 다음과 같은 초기 설..
findOne db.collection('users').findOne({ _id: 2 }, function(error, result) { if (error) { console.log('에러 발생:', error); } else { console.log('조회된 문서:', result); } }); 서버에서 데이터를 불러오기 위해서는 findOne 메서드를 사용합니다. findOne은 주어진 조건과 일치하는 데이터를 찾습니다. findOne은 조건이 들어 있는 객체와 받은 데이터를 처리할 콜백함수를 인자로 받습니다. 객체에서는 보통 _id를 통해서 탐색하지만, 다른 속성을 넣을 수도 있습니다. 만약 조건에 해당하는 문서가 없다면 null을 반환합니다.
Delete 클라이언트에서 delete요청과 함께 삭제할 데이터의 id를 보냅니다. $.ajax({ method : 'DELETE', url : '/delete', data : { _id : e.target.dataset.id } }) //jQuery 그후 deleteOne메서드에 요청에서 보낸 id를 인자로 받으면 됩니다. 그러면 해당 id와 일치하는 데이터를 삭제합니다. 단, 요청할 때 id가 숫자가 아닌 문자열 타입이 되므로 parseInt로 수정해야 합니다. app.delete('/delete', function(요청, 응답){ 요청.body._id = parseInt(요청.body._id) //id를 수정 db.collection('post').deleteOne(요청.body, function(..
id의 필요성 특정 게시물을 조회하거나 변조시 해당 데이터의 특정 값으로 찾을 경우, 비슷한 값이나 중복값을 대상으로 할 수도 있습니다. 따라서 거의 모든 데이터베이스는 대용량의 데이터에 고유한 id를 부여하여 이를 구분하도록 합니다. MongoDB 또한 이런 방법을 사용합니다. 보통 id가 만들어진 순서에 따라 0부터 숫자를 높이는 방식을 사용합니다. mongodb에서 id를 부여하기 보통 총 데이터의 숫자+1로 id를 정하면 쉽게 구현할 수 있습니다. 그러나 중간의 데이터를 삭제하면 총 데이터의 숫자도 같이 하락합니다. 만약 이때 새로운 데이터를 저장한다면, 마지막에 저장한 데이터와 새로운 데이터가 동일한 id를 부여받을 수 있습니다. 따라서 이를 막기위해, mongodb에서는 새로운 collecti..