StorageDB
![license](https://img.shields.io/npm/l/storagedb2.svg)
MongoDB-like API for HTML5 Storage (localStorage and sessionStorage)
NOTICE: The npm package name is 'storagedb2'
Features
- MongoDB-like API design
- 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 storagedb2
Import storagedb to your project (ES6)
import StorageDB from 'storagedb2'
Or add the script to your main HTML file
<script src="./lib/storagedb.js"></script>
Collection Supported methods
Usage
Instantiate
const db = new StorageDB({
storage: window.localStorage,
database: 'testdb',
primaryKey: 'id'
})
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
}
})
find
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()
License
MIT