PouchDB 시작하기
22210 단어 beginnersprogrammingjavascriptwebdev
이 기사에서는 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"
}
결론:
그게 다야. 시간을 내어 블로그 게시물을 읽어주셔서 감사합니다. 게시물이 유용했다면 ❤️를 추가하고 댓글 섹션에서 내가 놓친 부분이 있으면 알려주세요. 블로그 피드백은 환영합니다.
트위터로 소통해요 : ()
참조:
Reference
이 문제에 관하여(PouchDB 시작하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/imkarthikeyan/getting-started-with-pouchdb-541k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)