일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 실행
- app.js
- 설치
- nodemon
- dr 학교측
- 생활코딩
- lowdb
- nodejs
- local
- passport
- round
- 객체
- template
- 모듈
- 객체란
- 객체정의
- tPerRow hn측
- Web
- sanitize
- 데이터
- math
- JavaScript
- Passport.js
- express
- 함수
- Web2
- node.js
- 자동
- /bin/www
- Generator
- Today
- Total
목록웹 개발/lowdb (9)
괜찮아 잘하고있어 힘내

데이터를 추가하는 작업들을 하면 파일에 쓰게된다. 파일은 cpu를 이용하는 작업보다 훨씬 느리기 때문에 저 작업이 끝날때까지 기다리게 된다. 렉이 걸리게 된다. nodejs에서는 asysnc라고 비동기 방식을 사용한다. 3) adapters : lowdb가 데이터를 저장하고 읽어올때 그것을 파일로 읽어올수도 있고 메모리에서 읽어올수 있고 로컬스토리지에서 읽어올수 있다. 그것을 사용자의 기호에 따라서 쉽게 바꿀수 있도록 해주는 역할을 하는것이다. FileSync는 파일을 동기적으로 처리하겠다. 3) 파일을 비동기적으로 처리하는 adapter가 달라붙는다. 6) low(adapter) 뒤에 .then을 붙이고 그 안에 function(db)를 넣어준다. 그리고 앞에 const db = 를 지워줘도된다. 그리..

데이터를 넣을때 id값을 직접 넣었다. mysql과 같은 데이터베이스 시스템에는 자동으로 id값을 넣어주는 시스템이 있다. lowdb는 기본적으로 그런 기능이 없다. shortid 라는 모듈을 사용해야한다. shortid 모듈은 랜덤한 값을 생성해준다. npm install -s shortid 를 이용해 모듈을 설치해준다. 1) 상단에 shortid를 불러온다. 우리는 author테이블에서 taeho란 사람을 추가하는데 그때 id값을 랜덤으로 만드는데 사진에선 예시로3이다. 그리고 topic 테이블에서 taeho란 사람은 author값이 여기선 3이기 때문에 author테이블에서 랜덤으로 만든 값과 같은 값을 넣어준다. 그리고 topic 테이블의 id는 author테이블과는 관련 없이 랜덤으로 값을 넣어..

31) 항상 db.get을 사용해 우리가 처리하고싶은 프로퍼티를 가져온다. 32) .find()를 통해 수정하고싶은것을 찾는다. id값이 2번인것 33) .assign( ) 를 사용해 title값을 변경한다. 34) write( )를 해야 변경된다. ※읽기는 .value( ) 쓰기는 .write( ) 수정된다.

25) 우리가 읽어오고싶은것 topic테이블을 get한다. value( ) 를 붙이고 console.log로 콘솔에 출력해본다. topic테이블의 두개의 행이 출력된다. 그런데 필요한 데이터만 뽑아서 출력하고 싶을 수도 있을것이다. 그럴땐 .find( )를 낑겨넣고, finde에 찾고싶은 정보가 담겨있는 객체를 준다. 여기서는 title값이 lowdb라는 것만 출력한다. 만약 데이터가 많다면 그중에서 title값이 lowdb 이면서 author값이 1인 사람만의 데이터만 가져온다. 더욱 디테일하게 검색할 수 있다. 정렬이 필요할땐 sortBy 를 사용한다. 가져오고싶은 데이터를 제한하고 싶을땐 take( )를 사용해 제한할 수 있다. (5개만 가져온다) 가져오고 싶은 데이터가 전체가 아니라 title 항..

C: create 생성 R: read 읽기 7) lowdb에서는 db변수에 들어있는것을 lowdb에 인스턴스가 들어있다고 한다. lowdb에 인스턴스에게 get은 가져온다는 뜻. author을 가리키는 무언가를 가져온다고 한다. 배열에서 정보를 추가할때 push( ) 를 쓴다. 8~10) 각자 순서가 없기 때문에 객체로 쓴다. 11) write( ) 를 하기 전까진 실제로 우리가 수정한것이 반영되지 않는다. db.json 파일 안의 author에 값이 들어간다. 이번엔 topic에 내용을 추가해본다. db.json 파일에 topic 테이블에 값이 들어간다. 이번엔 topic 테이블에 데이터를 하나 더 추가한다. 위에 내용들은 주석처리해야 중복되서 실행되지 않는다.

6) 데이터베이스를 처음 만들면 db.json이라고 하는 비어있는 파일이 만들어진다. 그 안에 정보를 넣으려 하면 늘 정보를 어디에 넣을지 확보돼야한다. 거기가 없으면 자동으로 생성해주는 코드가 defaults 이다. 6) 우리가 만드려 하는 테이블 대로 바꿔준다. 만약 topic이라고 하는것이 json파일에 없으면 만들어준다. 그리고 그 안에 들어갈 데이터는 [] 배열이다. 즉, 순서가 있는 정보다 라는 뜻이다. author도 마찬가지로 []배열이다. 저장하고 node main.js를 사용해 실행한 뒤 db.json 파일을 확인해 보면 topic과 author라고 하는 두개의 프로퍼티가 json 파일 안에 생성된다.

프로젝트 디렉토리로 이동해서 설치해 준다. 예시로 나는 cd D:\실습\lowdb 로 이동한다. 그리고 npm install -s lowdb 를 사용해 설치해준다. -s는 우리 프로젝트에 lowdb를 쓰겠다 라는 기록이 남는다. main.js를 만들어주고 위 내용을 입력해 준다. 1) lowdb를 사용하기 위해 lowdb라는 모듈을 nodejs에 설치한다. 2) lowdb를 통해서 데이터를 제어할때 파일에 저장할수있고, 메모리에 저장할수도 있고, 브라우저의 경우에는 로컬스토리지라는곳에 저장할 수도 있다. 그런데 여기서는 파일싱크라는 방식으로 파일의 동기 방식으로 저장하겠다 라는 뜻이다. 3) 우리는 데이터를 db.json이라고 하는 파일의 json의 형식에 따라서 저장하겠다 라는 뜻. 4) lowdb에게..
lowdb는 json의 형식으로 데이터를 저장하는 간단한 데이터베이스이다. javascript를 언어로 사용.