Skip to main content
Version: v5

Couchbase Lite

Plugin to install Couchbase Lite in your PhoneGap app on iOS or Android This Plugin is no longer supported by Couchbase. Please see our Couchbase Lite Integration

https://github.com/couchbaselabs/Couchbase-Lite-PhoneGap-Plugin

Stuck on a Cordova issue?

Don't waste precious time on plugin issues.

If you're building a serious project, you can't afford to spend hours troubleshooting. Ionic’s experts offer premium advisory services for both community plugins and premier plugins.

Installation#

$ npm install couchbase-lite-phonegap-plugin $ npm install @ionic-native/couchbase-lite $ ionic cap sync

Supported Platforms#

  • Android
  • iOS

Usage#

React#

Learn more about using Ionic Native components in React

Angular#

import { CouchbaseLite } from '@ionic-native/couchbase-lite/ngx';import { Http } from '@angular/http';import { Observable } from 'rxjs'constructor(private couchbase: CouchbaseLite, private platform:Platform,private _http:Http) {   this.initMethod();}url:string;initMethod() {   this.couchbase.getURL().then((url)=> {       this.url = url;   })}getUrl() {     return this.url;}// DATABASES //createDatabase(database_name:string) {     let url = this.getUrl();     url = url+database_name;     return this._http       .put(url)       .map(data => { this.results = data['results'] })       .catch((error:any) => {          return Observable.throw(error.json() || 'Couchbase Lite error');        }) }deleteDatabase(database_name:string) {     let url = this.getUrl();     url = url+database_name;     return this._http       .delete(url)       .map(data => { this.results = data['results'] })       .catch((error:any) => {          return Observable.throw(error.json() || 'Couchbase Lite error');       })}getAllDbs() {     let url = this.getUrl();     url = url+'_all_dbs';     return this._http       .get(url)       .map(data => { this.results = data['results'] })       .catch((error:any) => {          return Observable.throw(error.json() || 'Couchbase Lite error');       })}// DOCUMENTS //getAllDocuments(database_name:string){     let url = this.getUrl();     // include_docs=true will include a doc inside response, it is false by default     url = url + database_name + '/_all_docs?include_docs=true';     return this._http       .get(url)       .map(data => { this.results = data['results'] })       .catch((error:any) => {          return Observable.throw(error.json() || 'Couchbase Lite error');       })        .}createDocument(database_name:string,document){     let url = this.getUrl();     url = url + database_name;     return this._http       .post(url,document)       .map(data => { this.results = data['results'] })       .catch((error:any) => {          return Observable.throw(error.json() || 'Couchbase Lite error');       })        .}let document = {   _id:'You can either specify the document ID (must be string) else couchbase generates one for your doc',   data:{name:'sandman',age:25,city:pune} }createDocument('justbe', document);// successful response{ "id": "string","rev": "string","ok": true }updateDocument(database_name:string,document){     let url = this.getUrl();     url = url + database_name + '/' + document._id;     return this._http       .put(url,document)       .map(data => { this.results = data['results'] })       .catch((error:any) => {          return Observable.throw(error.json() || 'Couchbase Lite error');       })        .}// for updation of document your document must contain most recent rev(revision) id.// for each updation of document new rev id is get generated// successful response{ "id": "string","rev": "string(new revision id)","ok": true }deleteDocument(database_name:string,document){     let url = this.getUrl();     url = url + database_name + '/' + document._id +'?rev='+doc._rev;     return this._http       .delete(url)       .map(data => { this.results = data['results'] })       .catch((error:any) => {          return Observable.throw(error.json() || 'Couchbase Lite error');       })        .}