instapp / storagedb

MongoDB-like API for HTML5 Storage (localStorage and sessionStorage)
https://instapp.github.io/storagedb
MIT License
17 stars 4 forks source link
library localstorage sessionstorage storagedb

StorageDB

npm license

MongoDB-like API for HTML5 Storage (localStorage and sessionStorage)

NOTICE: The npm package name is 'storagedb2'

Features

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="https://github.com/instapp/storagedb/raw/master/lib/storagedb.js"></script>

Collection Supported methods

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()

License

MIT