StorageDB
MongoDB-like API for HTML5 Storage (localStorage and sessionStorage)
NOTICE: The npm package name is ‘storagedb2’
Features
- MongoDB-like 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 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
- 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'
})
// 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
}
})
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()