Miss any of our Open RFC calls?Watch the recordings here! »

mem-db

0.0.2 • Public • Published

mem-db

In Memory key value store - wrapper on jfs nodejs package

Its a another KeyStore package in NPM repo. It doesnt have any specialities. I just made it for my purpose (as part of KaanalNet application).

Its simple wrapper on jfs(json file system) npm package, and supports only basic functionalities(add,update,get,list,del). schema validtation check is inbuilt.

Functions:

  1. create a new keystore object mystore = new keystore 'keystore-name', jsonschema

  2. add a data

performs the schema validation check and add a jsondata to the store.

Example:
    id = mystore.add jsondata

returns ID on success case
returns error on error case (schema and data doesnt match)
  1. get a data get the data for the given id.

    Example:
    jsondata = mystore.get id

returns error on error case (id doesnt present in the store)

  1. delete a data delete the data from the store for the given id.
    Example: mystore.del ID

  2. update performs the schema validataion check and update a jsondata to the store Example: mystore.update ID, data

Example Program

This is just a indicative program to show the APIs. it cannot run as it is.

keystore = require('mem-db')
Schema =
    name: "test"
    type: "object"        
    properties:                        
        name: {type:"string", required:true}                       
        type:{ type: "string", required: true}

@store = new keystore "teststore",Schema
data =
    name : "switch1"
    type : "ovs"
id = @store.add data         
    util.log "new switch data created - data #{id} "
    console.log id

console.log @store.list()
console.log @store.get id
newdata = 
    name : "switch1"
    type : "bridge"
@store.update id , newdata

@store.del id

This driver is used in Kaanalnet application to manage the store, https://github.com/sureshkvl/kaanalnet/blob/master/src/builder/switchCtrl.coffee

Install

npm i mem-db

DownloadsWeekly Downloads

2

Version

0.0.2

License

MIT

Last publish

Collaborators

  • avatar