PouchDB 시작하기

PouchDB는 브라우저 내에서 잘 실행되도록 설계된 Apache CouchDB에서 영감을 받은 오픈 소스 JavaScript 데이터베이스입니다.
이 기사에서는 pouchDB 설치 및 관련된 기본 CRUD 작업에 대해 설명합니다.

데이터베이스를 사용하기 전에 데이터베이스를 설치해야 합니다. 아래에서 데이터베이스 설치 방법을 언급했습니다.
설치
시스템에 pouchDB를 설치하려면 cdn을 포함하거나 npm, bower 등과 같은 패키지 관리자를 사용하여 설치할 수 있습니다.

npm 사용 :

npm install --save pouchdb


를 사용하여 설치한 후 애플리케이션에 pouchDB를 사용하려면 require를 사용해야 합니다.

let PouchDB = require('pouchdb');
let db = new PouchDB('my_database');


이제 설치 부분이 완료되었습니다. pouchDB를 사용하여 몇 가지 기본 CRUD 작업을 볼 수 있습니다. 아래 링크에서 언급한 pouchDB의 공식 문서를 참조할 수도 있습니다.

Getting started Guide with PouchDB

데이터베이스 작업:



데이터베이스 생성:



PouchDB 생성자를 사용하여 로컬 데이터베이스를 생성할 수 있습니다. 방법은 다음과 같습니다

let PouchDB = require('pouchdb');
let db = new PouchDB('test_db1');

console.log ("Database created Successfully.");


데이터베이스에 대한 정보 얻기:


info() 메서드를 사용하여 데이터베이스에 대한 정보를 얻을 수 있습니다.

let PouchDB = require('pouchdb');
let db = new PouchDB('test_db1');

console.log ("Database created Successfully.");

//You can get the basic information about the database using the method named info()

db.info((err,info) => {
 if(!err){
      console.log(info)
 }
});


이제 명령줄에서 파일을 실행하면 아래와 같은 출력이 표시됩니다.

{
  adapter:"idb"
  auto_compaction:false
  db_name:"test_db222"
  doc_count:0
  idb_attachment_format:"binary"
  update_seq:0
}


데이터베이스 삭제:


db.destroy 방법을 사용하여 데이터베이스를 삭제할 수 있습니다. 메서드를 삭제하는 예는 다음과 같습니다.

//Requiring the package
var PouchDB = require('PouchDB');

//Creating the database object
var db = new PouchDB('test_db222');

//deleting database
db.destroy(function (err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log ("Database Deleted");
   }
});


문서 작업:



PouchDB는 no-sql 데이터베이스이므로 데이터를 관계형 형식으로 저장하는 대신 문서 형식으로 데이터를 저장합니다. 문서에서 기본 CRUD 작업을 수행할 수 있습니다.



Comparison chart from pouch db official docs

문서 작성:


db.put 방법을 사용하여 문서를 만들 수 있습니다.

let PouchDB = require('pouchdb');
let db = new PouchDB('test_db222');
console.log ("Database created Successfully.");
//creating a new database
//Preparing the document
let doc = {
   _id : '002',
   name: 'Karthi',
   age : 23,
   designation : 'Designer'
   }
//Inserting Document
db.put(doc, function(err, response) {
   if (err) {
      return console.log(err);
   } else {
      console.log("Document created Successfully",response);
   }
});


프로그램을 실행하면 콘솔에서 다음 메시지가 표시됩니다.

Document created successfully



//Document created Successfully
{ok: true, id: "003", rev: "1-325eb8a7f91c4035a033fca9f5c32f52"}


동일한 문서를 추가하려고 하면 다음 오류가 발생합니다.

//CustomPouchError 
{
status: 409, 
name: "conflict", 
message: "Document update conflict", 
error: true, 
id: "003"
}


문서 표시:



고유해야 하는 인수로 db.get를 사용하는 key를 사용하여 문서를 표시할 수 있습니다.

let PouchDB = require('pouchdb');
let db = new PouchDB('test_db222');
//success message
console.log ("Database created Successfully.");
//getting the document from the database
db.get('002',(err,info)=>{
if(!err){
     console.log("db value",info)
}
else{
     console.log("err field",err)
}
});


당신은 다음과 같이 출력을 얻을 것이다

{name: "Karthi", age: 23, designation: "Designer", _id: "002", _rev: "1-38fd304f70974adeb370e3cf8bc89f39"}


리비전 이해하기( _rev )



새 필드_rev는 문서를 만들거나 업데이트할 때마다 업데이트되는 개정 마커라고 합니다. 문서를 업데이트할 때 _rev를 사용합니다.

문서 업데이트:



따라서 문서를 업데이트하려면 _rev를 가져와야 하지만 가져올 _rev에 이미 있는 doc를 수동으로 추가할 필요가 없습니다.

let PouchDB = require('pouchdb');
let db = new PouchDB('test_db222');
//creating the db
console.log ("Database created Successfully.");
//get the data and update
db.get('002').then(function (doc) {
  // update their age
  doc.age = 40;
  // put them back
  return db.put(doc);
}).then(function () {
  // fetch data again
  return db.get('002');
}).then(function (doc) {
  console.log(doc);
});


이제 콘솔에 다음 결과가 표시됩니다.

{name: "Karthi", age: 40, designation: "Designer", _id: "002", _rev: "3-9a7dac1a7b1a4332b9d44d9dd5dca757"}


문서 삭제:


db.delete() 방법을 사용하여 데이터베이스에서 문서를 삭제할 수 있습니다.

let PouchDB = require('pouchdb'); //require the package 
let db = new PouchDB('test_db222');
//created the db
console.log ("Database created Successfully.");
//get the doc
db.get('002').then(function (doc) {
// remove the doc
return db.remove(doc._id, doc._rev);
}).then(function(err,info){
//print the data
if(!err){
console.log("info",info)
}else{
console.log(err)
}

});


결과와 함께 다음 출력이 표시됩니다.

{
  ok: true,
  id: "002", 
  rev: "4-d6f058da696f4760b31492c9f00ad1ec"
}


결론:



그게 다야. 시간을 내어 블로그 게시물을 읽어주셔서 감사합니다. 게시물이 유용했다면 ❤️를 추가하고 댓글 섹션에서 내가 놓친 부분이 있으면 알려주세요. 블로그 피드백은 환영합니다.

트위터로 소통해요 : ()



참조:


  • pouchDB official Docs
  • pouchDB tutorial — Tutorials point
  • 좋은 웹페이지 즐겨찾기