ホームページ > ウェブフロントエンド > jsチュートリアル > PouchDBクライアント側JavaScriptデータベースを開始します

PouchDBクライアント側JavaScriptデータベースを開始します

Lisa Kudrow
リリース: 2025-02-17 10:24:15
オリジナル
942 人が閲覧しました

Getting Started with PouchDB Client-Side JavaScript Database

この記事は、Sebastian SeitzとTaulant Spahiuによってレビューされました。 SitePointのピアレビュアーに貢献してくれたことに感謝します! 最新のクライアント側のWebアプリケーションには、洗練されたデータ処理機能が必要です。 ブラウザは、堅牢なJavaScriptパフォーマンスとリッチAPI(ジオロケーション、ピアツーピアコミュニケーションなど)を提供し、複雑なWebアプリの成長を促進します。 この進歩には、PouchDB ExcelなどのJavaScriptデータベースがあります。 pouchdb

の重要な機能

PouchDB、Apache CouchDBに触発されたオープンソースのJavaScriptデータベースは、ブラウザ内でシームレスに動作し、ページ復習全体で永続的なデータストレージのためにindexedDBを活用します。

インストールは簡単です:スタンドアロンスクリプトをHTMLに統合するか、node.jsプロジェクトにnpmを使用します。
    CRUD操作とバルクドキュメント操作をサポートし、簡単なJavaScriptコマンドを使用して柔軟なデータ管理を提供します。
  • リアルタイムのデータの同期と変更追跡は組み込まれており、即時データベースの変更に基づいて動的なUI更新を可能にします。
  • couchdbにシームレスな同期を備えたオフラインデータストレージを促進し、デバイスとセッション全体でデータの一貫性を確保し、堅牢なオフラインファーストアプリケーションに最適です。
  • PouchDB
  • を理解します
  • PouchDBは、ブラウザ環境向けに最適化されたApache CouchDBをモデルにしたオープンソースJavaScriptデータベースです。
  • JavaScriptデータベースは、本質的に、データ操作のためのメソッド(API)を提供するJavaScriptオブジェクトです(PUT、GET、検索)。 シンプルなJavaScriptオブジェクトは、最も基本的な例として機能します。 Meteorに精通している場合、MinimongoはMongodb APIを模倣する匹敵するクライアント側のデータベースです。
  • PouchDBは、永続的なストレージにindexedDBを使用することにより、Minimongoと区別します(メモリだけでなく)。 IndexEdDBは、ファイル/ブロブを含む実質的な構造化データを保存するための低レベルAPIです。 これにより、ページが更新された後でもデータの持続性が保証されます(データはブラウザー固有ですが)。 さまざまなアダプターが、基礎となるストレージレイヤーのカスタマイズを可能にします。
  • pouchdb and couchdb:接続

PouchDBは、APIを密接に反映したCouchDBのJavaScript実装です。 たとえば、couchdbですべてのドキュメントを取得するには

を使用しますが、pouchdbでは、

PouchDBは、アプリケーションにデータをローカルにオフラインで保存し、再接続時にCouchDBと同期するように強制します。

PouchDB

を開始します

開始するPouchDBクライアントライブラリを含めます。 PouchDB を介してスタンドアロンビルド(グローバルに利用可能なコンストラクターを作成)を使用します

または、node.js/browserify/webpackの場合、npm:

を使用します
$ npm install pouchdb --save
ログイン後にコピー

次に、javaScript:

var PouchDB = require('pouchdb');
ログイン後にコピー

PouchDBの操作:データ操作

データベースの作成

データベースを作成することは、PouchDBコンストラクターを呼び出すのと同じくらい簡単です。

var movies = new PouchDB('Movies');
ログイン後にコピー
データベース情報を表示するには、

メソッド(約束を返す)を使用してください:.info()

movies.info().then(function(info) { console.log(info); });
ログイン後にコピー
ドキュメント管理

pouchdbはnosql、ドキュメントベースです。固定スキーマはありません。 JSONドキュメントを直接挿入します

ドキュメント作成

メソッドを使用してください:

.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();
ログイン後にコピー

PouchDBは、効率的なバルク操作を提供します:

バルク挿入

使用

を使用します .bulkDocs()

バルク読み取り
movies.bulkDocs([
  { _id: 'easy-a', title: "Easy A" },
  { _id: 'black-swan', title: 'Black Swan' }
]);
ログイン後にコピー

を使用します .allDocs()

couchdb
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
  });
ログイン後にコピー
との同期

リモートCouchDBインスタンスを使用してローカルPouchDBデータを同期します

さらなる調査

var localDB = new PouchDB('mylocaldb');
var remoteDB = new PouchDB('http://localhost:5984/myremotedb');

localDB.sync(remoteDB, { live: true }); // For live, bidirectional syncing
ログイン後にコピー
PouchDBプラグインとフレームワークアダプターを探索します。 PouchDB検査官Chrome拡張機能は、データベース検査に役立つGUIを提供します。

よくある質問

このセクションでは、一般的なPouchDBの質問に対する簡潔な回答を提供し、インストール、データベースの作成、ドキュメント操作、エラー処理、CouchDBとの同期をカバーします。 詳細な説明とコードの例については、元の記事を参照してください。

以上がPouchDBクライアント側JavaScriptデータベースを開始しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート