Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including ice-db with all npm packages installed. Try it out:

var iceDb = require("ice-db")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

ice-db v1.2.2

In-memory DB

IceDB

npm npm NpmLicense David npm bundle size (minified)

IceDB is a tiny and fast in-memory database for NodeJS

Setup

  1. Run npm i -s ice-db
  2. (optional step) Test the package by running cd node_modules/ice-db && npm test

Quick Start

  1. First import the module and instantiate the db .Thats it! Now you're ready to go :slightly_smiling_face:
const {
    Ice
} = require('ice-db');

const db = new Ice();
  1. To create a collection:
const animals = db.createCollection({
    name: 'animals'
})

Now you can call a collection by using variable animals or db.animals

  1. To add a new record:
let daisy = animals.insert({
    type: 'cat',
    name: 'Daisy'
})
/*
This will return an object like this:
{ id: '4e6387b1-ac38-4e42-b474-1c6eaee1302d',
  rev: '1-1542481509127',
  type: 'cat',
  name: 'Daisy' }, but the id and rev would be unique
*/
  1. Records can be accessed by id:
daisy = animals.get(daisy.id)
/*
{ id: '4e6387b1-ac38-4e42-b474-1c6eaee1302d',
  rev: '1-1542481509127',
  type: 'cat',
  name: 'Daisy' }
*/
  1. To list all records in a collection:
animals.list();
  1. To update the record, provide the updated object:
daisy.type = 'kitty'

let updatedDaisy = animals.update(daisy)
/*
{ id: '6b45e668-698d-4d86-ae4a-bceca15af055',
  rev: '2-1542482143081',
  type: 'kitty',
  name: 'Daisy' }
*/

Notice: make sure that the id and rev are there:

let invalid = {
    type: 'cat',
    name: 'Margaret'
}

try {
    animals.update(invalid)
} catch (e) {
    console.error(e.message)
    // ID is not defined
}
let invalid = {
    type: 'cat',
    name: 'Margaret',
    id: daisy.id
}

try {
    animals.update(invalid)
} catch (e) {
    console.error(e.message)
    // Rev is not defined
}
  1. Delete an object:
animals.delete(daisy)
  1. To clear all data in a collection:
animals.drop()

or

db.dropCollection(animals)

or

db.dropCollection('animals')
  1. You can set a persistent storage for a db:
db.setStorage({
    path: './storage'
})

// async
db.save().then(()=>{
    console.log('Saved')
})

// sync
db.save(true)

// this will create a json file with a name of a collection per each containing all data

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free