Skip to content

gr2m/pouchdb-doc-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pouchdb-doc-api

PouchDB plugin for a document-bound API

Build Status Coverage Status Dependency Status devDependency Status

Usage

var db = new PouchDB('mydb')

var docId = 'mydocid' // can be any valid do id
var api = db.doc(docId)

// creates or replaces existing document with _id: mydocid
api.set({foo: 'bar'})

.then(() => {
  // loads document with _id: mydocid
  return api.get()
})

.then((doc) => {
  // removes document with _id: mydocid
  return api.unset()
})

🔏📃 Security notice

In case you want to store sensitive data, be aware that PouchDB does not remove data but creates new revisions. The older revisions remain accessible.

The only exception to this are local documents with an docId prefixed by _local/. So say you want to store an API key or session ID using pouchdb-doc-api, I strongly recommend to us a docId like _local/session. Full usage example

var db = new PouchDB('mydb')
var api = db.doc('_local/session')

api.set and api.unset will no remove previously stored data without leaving revisions that could be recovered.

API

Factory

Returns the store API bound to the document with the passed id

db.doc(id)
Argument Type Description Required
id String ID of the document the store API should be bound to. Yes

Example

var db = new PouchDB('mydb')
var store = db.doc('mydocid')

store.get()

Resolves with the document properties, without the _id and _rev properties.

store.get().then((properties) => {})

store.set()

Replaces all current document properties with the once passed. _id and _rev properties are ignored. Resolves with the document properties.

store.set({foo: 'bar'}).then((properties) => {})

store.unset()

Removes document from the database using PouchDB’s db.remove() method. Resolves without arguments.

store.unset().then(() => {})

Similar projects

License

Apache 2.0