Coder Social home page Coder Social logo

cxczy / storagedb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from instapp/storagedb

0.0 0.0 0.0 48 KB

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

Home Page: https://instapp.github.io/storagedb

License: MIT License

JavaScript 100.00%

storagedb's Introduction

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

storagedb's People

Contributors

acathur avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.