local2api-sync
v0.0.58
Published
local2api-sync is an API for storing data in Browser (localStorage and sessionStorage) and data synchronization with the Rest API, based on the project: https://instapp.github.io/storagedb.
Downloads
13
Maintainers
Readme
Local2Api-Sync
local2api-sync is an API for storing data in Browser (localStorage and sessionStorage) and data synchronization with the Rest API, based on the project: https://instapp.github.io/storagedb.
Features
- Mongo-Sync API
- Lightweight, only 3KB (minified and gzipped)
- No dependencies
- Easy configuration
- Well-supported query selectors (
$gt
,$in
, ...) and options (skip
,limit
,sort
) - Automatically cache in memory
Getting started
Install
npm install --save local2api-sync
Import storagedb to your project (ES6)
import StorageDB from 'local2api-sync'
Or add the script to your main HTML file
<script src="./lib/local2api-sync.min.js"></script>
Collection Supported methods
- insert
(docs)
- remove
(query)
- update
(query, values, options)
- find
(query, options)
- findOne
(query, options)
- drop
()
Usage
Instantiate
const db = new StorageDB({
storage: window.localStorage, // storage object, default is window.localStorage. If you want to store data in memory only, you can set it null
database: 'testdb', // database name, default is 'db'
primaryKey: 'id', // primary key of collection, default is '_id'
revisionKey: 'rev' // revision key of data, default is '__v'
})
// create collection (table) instance
const Users = db.get('users')
insert
Users.insert({
id: 100,
name: 'Elon',
age: 12
})
Users.insert([{
id: 101,
name: 'Larry',
age: 21
}, {
id: 102,
name: 'Sergey',
age: 21
}])
find
Users.find([100, 102])
Users.find({
name: /y$/,
age: {
$gte: 20
}
}, {
skip: 0,
limit: 20,
sort: {
age: 1
}
})
findOne
Users.findOne(102)
Users.findOne({
age: {
$ne: 21
}
})
update
Users.update(100, {
age: 47,
company: 'The Avengers'
})
Users.update({
age: 21
}, {
age: 22
}, {
multi: true
})
remove
Users.remove(101)
Users.remove({
age: 21
})
drop
Users.drop()