ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.