● 게시물마다 _id 번호를 다는 이유(PK가 있어야 하는 이유) - MongoDB에 데이터를 저장할 때는 '_id'라는 값을 반드시 넣어야한다.(그래야 CRUD가 쉽다.) - 만약 실수로 _id 값을 직접 넣어주지 않아도 MongoDB가 알아서 ObjectId()를 만들어서 _id 값을 강제로 넣어준다. - ObjectId()로 만들어진 _id 값은 무작위 숫자&문자 조합인데 이게 싫으면 저장할 때 직접 _id 값을 넣어주면 된다. - 현재 post 요청을 처리하는 코드는 아래와 같다. ※ _id = PK(Primary Key)라고 부르겠다. app.post("/add", (req, res) => { db.collection('post').insertOne({title : req.body.title, ..
- 웹 서비스 개발 시에 이용하는 DB는 대부분 (관계형 DB와 NoSQL DB) 중 하나로 분류된다. - 관계형 DB의 특징은 아래와 같다. 1. 거의 모든 곳에 사용할 수 있어 범용적 2. 구조화된 데이터의 CRUD에 좋다.(SQL을 이용해 데이터 CRUD) 3. 컬럼의 스키마를 미리 정의하기 때문에 관리가 쉽다. 4. 트랜잭션, 롤백 등의 기능을 이용해 데이터의 무결성을 보존하기 쉽기에 금융, 거래 서비스 등에서는 필수이다. - 이번 글에서는 NoSQL DB에 대해 간단하게 알아볼 것이다. 1. NoSQL이란? - SQL 언어 없이도 사용할 수 있는 DB이다. - (대부분) table에 국한되지 않아 자유로운 형식으로 데이터를 쉽게 분산 저장할 수 있다. - 물론 MongoDB에서도 Relation..
- 최종적으로 만드려는 API의 흐름은 아래와 같다. 1. 사용자가 '/list' URL로 GET 요청 2. MongoDB에서 데이터를 꺼낸다. 3. 꺼낸 데이터를 list.ejs 파일에 꽂아넣은 후 사용자에게 보내준다. ● MongoDB에서 데이터 꺼내기(collection.find) - 현재 post collection에 저장돼있는 데이터는 아래와 같다. db.collection('post').find() db.colleciton('post').findOne() - 위와 같은 코드를 이용해 DB에 있는 데이터를 꺼낼 수 있다. - 만약 post collection에 저장된 모든 데이터를 가져오고 싶으면 아래와 같이 코드를 짜면 된다. (server.js) app.get('/list', (req, re..
● ejs - .ejs 확장자 파일은 .html 파일과 동일하나 서버의 데이터를 집어넣을 수 있다는 특징이 있다. - 사용자에게 쌩 HTML 파일만 보내주면 그것은 static 페이지(정적 페이지)가 된다. - static 페이지에는 DB의 data를 넣어서 보내줄 수가 없기에 EJS, Pug 같은 템플릿 엔진을 사용하는 것이다. - EJS는 서버의 데이터를 HTML에 쉽게 넣을 수 있도록 도와주는 일종의 HTML 렌더링 엔진이다.- EJS를 설치해서 DB 데이터를 HTML에 넣어보자 - 터미널에 아래의 명령어를 입력해 ejs를 설치해보자 npm install ejs - 설치 후 아래의 코드를 server.js 상단에 추가하자(const 모여 있는 곳에 추가) app.set('view engine', '..
● MongoDB 함수 error 처리 방법 MongoClient.connect('접속URL', function(error, client) { // callback function if(error) return console.log(error); app.listen(8080, function() { console.log('server on : listening on 8080'); }); }); - 위의 코드에서 error parameter는 error 발생 시 어떠한 error가 발생했는지 알려주는 역할이다. - MongoDB 관련 함수들은 전부 callback function에서 error 처리가 가능하다. - 참고로 connection error의 대부분은 접속 URL 오타이다. if(error) r..
● Database? - Database는 데이터를 일정한 형식으로 저장할 수 있게 도와주는 곳이다. - 관계형 Database는 SQL을 사용하여 데이터를 CRUD한다. - 하지만 Mongodb에서는 NoSQL을 사용할 것이다.(SQL 언어를 쓰지 않고도 DB를 이용할 수 있다.) - MongoDB의 장점은 아래와 같다. 1. 처음 다룰 때 어려운 셋팅 작업이 필요하지 않다.(스키마 생성 등 필요 없음) 2. SQL을 배우지 않아도 된다. 3. 복잡한 자료형을 몰라도 된다. 4. 평생 무료 호스팅해주는 곳이 있다. cf) NoSQL DB 종류 몇 개 : Dynamo, Oracle NoSQL, MongoDB, Redis, Cassandra cf) NoSQL에서 데이터는 대충 아래와 같은 자료형에 담겨있다..
- Total
- Today
- Yesterday
- 프로그래머스
- 자료구조
- SpringBoot
- DART
- 빅데이터
- git
- 알고리즘
- 코딩테스트
- 메모리
- MySQL
- java
- MongoDB
- 운영체제
- Phaser
- OS
- spring
- nosql
- Stream
- Phaser3
- db
- jpa
- 코테
- Java8
- Advanced Stream
- Spring Boot
- 프로세스
- 빅데이터 분석기사
- SQL
- API
- node.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |