카테고리 없음

lowdb 간단한 사용법

직장인코딩 2022. 10. 22. 00:02
반응형

 


opentutorials.org

항상 무료강의를 제공해주시는 생활코딩님께 감사드립니다.

 

오늘은 lowdb에 대해서 공부를 해보았다.

 

강의는 40분짜리로 정말 짧고 설명도 간단하고 사용하는 법도 간단하고

 

순식간에 끝내 줄 수 있을 줄 알았으나

 

현재 나온 lowdb의 버전은 3.0.0이고 생활코딩님이 사용하시는

 

lowdb는 1.0.0이어서 사용하는 버전이 달랐다.

 

나는 3.0.0에서 사용을 하기 위해 갖가지 방법을 시도해보았지만

 

사용예제가 너무 없고 공식 문서를 들어가도

 

create에 대한 설명은 있으나 나머지 read update delete에 대한 설명이 없었다.

 

너무나 나의 머리를 아프게 하고 다른 방법이 없어

 

그냥 버전을 1.0.0으로 다운그레이드 한 뒤 수업을 따라갔다.

 

40분짜리 수업을 거의 한 4시간 가량을 소모한 것 같다.

 

그럼에도 해답은 찾지 못했고 만일 나중에 해답이 나온다면 추후 블로그에 게시하도록 하겠다.

 

일단 lowdb를 다운 받으면 된다.

 

npm i lowdb@1.0.0 -s
 

나는 lowdb의 1.0.0의 버전을 기준으로 설명을 할 것이기 때문에

 

만약 관심이 있으시다면 위 버전으로 다운 받아주시길 바랍니다.

 

일단 설치가 완료되었으면

 

const low = require("lowdb");
const FileSync = require("lowdb/adapters/FileSync");
const adapter = new FileSync("db.json");
const db = low(adapter);
 

위 4줄을 추가해주시길 바랍니다.

 

4줄은 lowdb를 사용하기 위해 필수적인 선행이라고 생각하시면 됩니다.

 

일단 lowdb는 json 형태의 database입니다.

 

우리는 json파일을 저장해서 data를 저장할 계획입니다.

 

다음 코드를 실행 해보겠습니다.

 

const low = require("lowdb");
const FileSync = require("lowdb/adapters/FileSync");
const adapter = new FileSync("db.json");
const db = low(adapter);

db.defaults({
  topic: [],
  author: [],
}).write();
 

위 코드를 실행하게 되었을때

위 사진과 같이 json 파일이 생성되게 됩니다.

 

위 코드에 topic 부분과 author는 json형태의 data에 key 값들을 설정할때

사용하였다고 생각하시면 됩니다.

그리고 마지막에 항상write()를 붙여 줘야 실행이 된다는 것입니다.

 

그러면 db.json에 data를 넣어보도록 하겠습니다.

그 코드는 아래와 같습니다.

 

  1. CREATE

 

db.get("topic")
  .push({
    id: 1,
    title: "lowdb",
    description: "lowdb is ...",
    author: 1,
  })
  .write();
 

get안에는 본인이 설정한 값을 넣어주시고 거기에 push method를 사용해주고

 

안에 arg로 원하는 data값을 넣어주고 실행하면 됩니다.

실행시키면 데이터가 저장 되었습니다.

 

 

2. READ

 

데이터를 읽는 법을 적어보겠습니다.

 

var data = db.get("topic").find({ id: 1 }).value();
console.log(data);
 

data를 읽어올때는 위와 같은 방법으로 find를 사용해주시면 되고

find안에는 id:1인 값을 찾도록 넣어주었습니다.

지금은 data가 1개가 있지만 그 data는 1이기때문에 다음과 같이 console에 찍어보면

 

출력이 됩니다.

 

 

3. UPDATE

 

이번엔 수정을 해보겠습니다.

 

다음과 같은 코드를 실행시켜주세요.

 

db.get("topic").find({ id: 1 }).assign({ title: "LOWDB" }).write();
 

assign을 통해 바꾸고 싶은 값을 적어주면 됩니다.

 

저는 title의 lowdb를 모두 대문자인 LOWDB로 바꿀려고 합니다.

 

실행시켜주었을때 다음과 같은 결과가 나옵니다.

대표사진 삭제

사진 설명을 입력하세요.

 

 

4. DELETE

 

이번엔 지우기를 해보겠습니다.

 

db.get("topic").remove({ id: 1 }).write();
 

다음과 같은 코드를 실행시켜주세요

저는 id값이 1인 data를 삭제시킬려고 합니다

그러면 다음과 같이 삭제가 됩니다.

 

원래 있던 data가 없어졌습니다.

 

제가 mysql을 생활코딩님을 통해 살짝 배웠었는데

 

저는 mysql이 훨씬 사용하기 좋았던 것 같습니다.

 

이상 lowdb의 간단한 사용법이었습니다.

 

반응형