-
MongoDB에 자료저장Node.js,MongoDB 2022. 4. 1. 17:27
MongoClient.connect('mongodb+srv://ross1222:dlwnsdud12@cluster0.ivzfq.mongodb.net/todoapp?retryWrites=true&w=majority', function(에러, client) { //연결되면 할 일 //에러라는 파라미턴 에러가 발생하면 어떤 유형인지 알려줌 if(에러){return console.log(에러)} app.listen(8080, function(){ console.log('listening on 8080') }); })
먼저, 저번 시간에 작성한 코드에서 에러라는 파라미턴 에러가 발생시에 어떤 유형인지 알려주는 역할을 한다.
그리고, 위에와 같이 if문을 추가하면 에러가 났을 때, 어떤 유형인지 알려주게 된다.
이제, 데이터를 저장할 수 있는 데이터베이스와 컬렉션을 만들어야 한다. 전 블로그 글처럼
todoapp와 post로 이름지어 만들면 된다. tosoapp라는 폴더에 collection 파일들이 여러개 있는데, 그 중 하나가 post파일이라고 생각하면 된다. 이제 데이터를 저장해보자.
var db;//1.변수를 만들고 MongoClient.connect('mongodb+srv://ross1222:dlwnsdud12@cluster0.ivzfq.mongodb.net /todoapp?retryWrites=true&w=majority', function(에러, client) { //연결되면 할 일 //에러라는 파라미턴 에러가 발생하면 어떤 유형인지 알려줌 if(에러){return console.log(에러)} db = client.db('todoapp');//2.todoapp이라는 database(폴더)에 연결할게요 //이름과 나이저장 db.collection('post').insertOne({이름 : 'John', 나이 : 20}, function(에러, 결과){ console.log('저장완료'); }); app.listen(8080, function(){ console.log('listening on 8080') }); })
먼저, db라는 변수를 만들고,
db에 client를 이용해 todoapp이라는 database와 연결해준다.
그리고, collection을 이용해 post라는 파일에 저장할게요 해주고 insertOne을 써서 첫 파라미터엔 저장할데이터를 두번째 파라미터엔 콜백함수를 넣어준다. 데이터는 Object자료형으로 저장을 해주면 된다. 그러면,
이렇게 몽고db에 저장된다. 위의 아이디는 직접 부여할 수 있다. 데이터를 적을 때
_id : 100 이런 식으로 적어주면 된다.
응용을 해보자.
//어떤 사람이 /add경로로 POST요청을하면... //데이터 2개(날짜, 제목)를 보내주는데 이때 post라는 이름을 가진collection 두개 데이터를 저장하기 app.post('/add', function(요청, 응답){ 응답.send('전송완료'); console.log(요청.body.title); console.log(요청.body.date); db.collection('post').insertOne({제목 : 요청.body.title, 날짜 : 요청.body.date}, function(에러, 결과){ console.log('저장완료'); }); });
만약, /add경로로 post요청을 하면 이때 받은 데이터를 이 안에, db.collection을 이용해 post파일에 저장해주세요 하고 안에 UI에 입력한 자료 두개 요청.body.title 와 요청.body.date를 insertOne로 저장해달라고 하면 된다.
'Node.js,MongoDB' 카테고리의 다른 글
게시물 각각에 번호달기(numbering) (0) 2022.04.04 HTML에 DB데이터 넣기 (0) 2022.04.04 MongoDB셋팅 (0) 2022.03.31 REST API (0) 2022.03.31 POST요청(form) (0) 2022.03.31