creately / rxdata

A reactive document database for web browsers
MIT License
11 stars 1 forks source link
browser database indexeddb localforage localstorage rxjs storage websql

RxData

RxData is a schemaless reactive document database for web browsers. It is inspired by rxdb but uses localForage instead of pouchdb to store data.

Getting Started

Install @creately/rxdata module from npm.

npm install @creately/rxdata

Create a new database. Also create some collections to group similar data.

import { Database } from '@creately/rxdata'

const db = new Database('test-db')
const vehicles = db.collection('vehicles')

Query documents in a collection and subscribe to changes in result data.

vehicles
  .find({ tires: { $gte: 4 } })
  .subscribe(data => console.log('data:', data))

Use collection methods to query, insert, modify or remove documents.

await vehicles.insert({
  id: 'todo-1',
  title: 'write database module',
})

await vehicles.update(
  { id: 'todo-1' },
  { $set: { completed: true }},
)

await vehicles.remove(
  { id: 'todo-1' },
)