返回介绍

Ionic4 Couchbase Lite插件-Couchbase Lite

发布于 2019-11-23 07:40:58 字数 4460 浏览 833 评论 0 收藏 0

Plugin to install Couchbase Lite in your PhoneGap app on iOS or Android

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

Ionic Couchbase Lite插件的安装(Installation)

ionic cordova plugin add couchbase-lite-phonegap-plugin npm install @ionic-native/couchbase-lite 
Ionic EE comes with fully supported and maintained plugins from the Ionic Team. Learn More or Contact Us
ionic enterprise register --key=YOURPRODUCTKEY npm install @ionic-enterprise/couchbase-lite 

Ionic Couchbase Lite插件支持的平台(Supported Platforms)

  • Android
  • iOS

Ionic Couchbase Lite插件的用法(Usage)

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');
       })        .
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文