この記事は、Sebastian SeitzとTaulant Spahiuによってレビューされました。 SitePointのピアレビュアーに貢献してくれたことに感謝します! 最新のクライアント側のWebアプリケーションには、洗練されたデータ処理機能が必要です。 ブラウザは、堅牢なJavaScriptパフォーマンスとリッチAPI(ジオロケーション、ピアツーピアコミュニケーションなど)を提供し、複雑なWebアプリの成長を促進します。 この進歩には、PouchDB ExcelなどのJavaScriptデータベースがあります。 pouchdb
の重要な機能
。
PouchDBは、アプリケーションにデータをローカルにオフラインで保存し、再接続時にCouchDBと同期するように強制します。開始するPouchDBクライアントライブラリを含めます。 PouchDB
を介してスタンドアロンビルド(グローバルに利用可能なコンストラクターを作成)を使用します
または、node.js/browserify/webpackの場合、npm:
を使用します$ npm install pouchdb --save
次に、javaScript:
でvar PouchDB = require('pouchdb');
データベースを作成することは、PouchDB
コンストラクターを呼び出すのと同じくらい簡単です。
var movies = new PouchDB('Movies');
メソッド(約束を返す)を使用してください:.info()
movies.info().then(function(info) { console.log(info); });
ドキュメント作成
.put()
movies.put({ _id: 'tdkr', title: 'The Dark Knight Rises', director: 'Christopher Nolan' }) .then(function(response) { console.log("Success", response); }) .catch(function(err) { console.log("Error", err); });
.get()
movies.get('tdkr').then(function(doc) { console.log(doc); }).catch(function(err) { console.log(err); });
を提供することにより、ドキュメントを更新します:.put()
_rev
movies.get('tdkr').then(function(doc) { doc.year = "2012"; return movies.put(doc); }).then(function(res) { console.log(res); });
の前に.remove()
を設定します):_deleted: true
を使用します
.put()
movies.get('tdkr').then(function(doc) { return movies.remove(doc); }).then(function(res) { console.log("Remove operation response", res); });
.destroy()
movies.destroy();
バルク挿入
を使用します
.bulkDocs()
movies.bulkDocs([ { _id: 'easy-a', title: "Easy A" }, { _id: 'black-swan', title: 'Black Swan' } ]);
を使用します
.allDocs()
movies.allDocs({ include_docs: true }).then(function(docs) { console.log(docs); }); ``` This method allows for ordering, filtering, and pagination using `startkey`, `endkey`, and `descending` parameters. Real-time Updates with ChangeFeeds --------------------------------- PouchDB's `changes()` API allows monitoring database changes: ```javascript db.changes({ since: 'now', live: true, include_docs: true }) .on('change', function(change) { // Update UI based on change.id and change.doc }) .on('error', function(err) { // Handle errors });
さらなる調査
var localDB = new PouchDB('mylocaldb'); var remoteDB = new PouchDB('http://localhost:5984/myremotedb'); localDB.sync(remoteDB, { live: true }); // For live, bidirectional syncing
以上がPouchDBクライアント側JavaScriptデータベースを開始しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。