pouchdb-react-native
PouchDB, the ReactNative-only edition. A preset representing the PouchDB code that runs in ReactNative.
The pouchdb-react-native
preset contains the version of PouchDB that is designed for ReactNative. In particular, it ships with the AsyncStorage adapters as its default adapters. It also contains the replication, HTTP, and map/reduce plugins.
Usage
npm install pouchdb-react-native --save
npm >= 3 / node >= 6 works best, there are some known issues with npm 2
PouchDB 7.0
npm install pouchdb-react-native@next --save
import PouchDB from 'pouchdb-react-native'
const db = new PouchDB('mydb')
// use PouchDB
db.get('4711')
.then(doc => console.log(doc))
For full API documentation and guides on PouchDB, see PouchDB.com.
Sample App
there is a small example app: https://github.com/stockulus/pouchdb-react-native/tree/master/example
pouchdb-adapter-asyncstorage
PouchDB adapter using AsyncStorage as its data store. Designed to run in ReactNative. Its adapter name is 'asyncstorage'
.
Usage
npm install pouchdb-adapter-asyncstorage --save
import PouchDB from 'pouchdb-core'
PouchDB.plugin(require('pouchdb-adapter-asyncstorage').default)
const db = new PouchDB('mydb', {adapter: 'asyncstorage'})
// use PouchDB
db.get('4711')
.then(doc => console.log(doc))
Android limit
On Android asyncstorage has a limitation of 6 MB per default, you might want to increase it
// MainApplication.getPackages()
long size = 50L * 1024L * 1024L; // 50 MB
com.facebook.react.modules.storage.ReactDatabaseSupplier.getInstance(getApplicationContext()).setMaximumSize(size);
known issues
There are still Problems with Attachments, but currently there is work on it. See (seigel#68)
development
git clone https://github.com/stockulus/pouchdb-react-native.git
cd pouchdb-react-native
git submodule init
git submodule update
npm install
npm test
cd example
npm run ios