storagedb2

1.0.5 • Public • Published

StorageDB

npm license

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

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

Package Sidebar

Install

npm i storagedb2

Weekly Downloads

2

Version

1.0.5

License

MIT

Unpacked Size

26.8 kB

Total Files

17

Last publish

Collaborators

  • acathur