티스토리 뷰
웹사이트 기능 만들기 기본
1. 서버로 데이터 전송할 수 있는 UI 만들고
2. 서버에 원하는대로 정보를 처리해주면 됨
form에 입력한 정보 어딘가에 저장해야됨(엑셀은 많은 데이터 저장 불가)
Database에 저장해야됨
자료 저장하려면 일단 MongoDB 가입해서 폴더, 파일 만들고
server.js에서 MongoDB 에 접속할 수 있게 해야함
server.js 에서 DB에 접속하려면
1. 라이브러리 설치
npm install mongodb
2. 상단 코드 추가
const MongoClient = require('mongodb').MongoClient;
3. 하단에 코드 입력
var db;
MongoClient.connect('mongodb+srv://kdb:6743@cluster0.bawt6ey.mongodb.net/?retryWrites=true&w=majority', { useUnifiedTopology: true }, function (에러, client) { //useUnifiedTopology 워닝메세지 제거해줌
if (에러) return console.log('에러') //에러 설명
db = client.db('todoapp'); //todoapp이라는 db로 접속해주세요~
//내가 원하는 데이터 추가,삭제,수정할때 동일한 형식
db.collection('post').insertOne({이름:'kim', 나이:20}, function (에러, 결과) {
console.log('저장완료')
});
//서버 띄우는 코드
app.listen(8080, function () {
console.log('listening on 8080')
});
})
DB에 접속이 완료되면
서버 띄우는 코드 실행해주세요~
첫번째 줄 콜백함수 안에 있는 에러는
에러 발생 시 어떤 에러인지 알려주는 파라미터
db.collection('post')란 collection 중에 post를 선택한다는 뜻 *collection은 폴더 안의 파일을 의미
뒤에 insertOne을 붙이면 object 자료형식으로 추가 가능
insertOne 함수는 insertOne(저장할 데이터, 콜백함수)로 쓰면 됨 *저장할 데이터 형식은 Object 자료형
db.collection('post').insertOne('저장할 데이터', function(에러, 결과){
console.log('저장완료')
});
위의 코드는 이해하지 말고 그냥 외워야함
ex)
→컬렉션이 test인 파일에 이름:kdb, 나이:2 를 넣어주세요
결과
db.collection('post').insertOne()
위의 코드 중요!
이 패턴으로 나중에 데이터 추가, 삭제, 수정함
근데 MongoDB에서 _id가 자동으로 부여되어있음
자료저장시 id를 적지 않아서 임시id가 자동으로 부여된 것
* 자료저장시엔 _id로 반드시 id값 부여하기!!!!
'Coding > node.js' 카테고리의 다른 글
[node.js] ejs로 DB에 저장한 데이터 html에 넣기 (0) | 2023.03.02 |
---|---|
[node.js] REST API **면접 필수 질문 (0) | 2023.02.28 |
[Node.js] REST API란 (0) | 2023.01.12 |
[Node.js] 8080포트 사용할 수 없다는 오류 해결방법 (0) | 2023.01.12 |
[Node.js] - 폼에 입력한 데이터를 서버에 전송하는 법 (POST요청) (0) | 2023.01.11 |