Latest Socket ResearchMalicious Chrome Extension Performs Hidden Affiliate Hijacking.Details
Socket
Book a DemoInstallSign in
Socket

elephant-db

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

elephant-db

A simple in-memory node database.

latest
Source
npmnpm
Version
0.0.1
Version published
Maintainers
1
Created
Source

ElephantDB

ElephantDB is a is a super simple in-memory node database. It supports adding, deleting, updating & querying. It is synchronous & is designed to be used when prototyping or stubbing APIs etc.

npm install --save elephant-db

Basic Example

This is a basic example which creates a db, adds some items & retrieves them.

const ElephantDB = require('elephant-db');

// You can set up different collections based like this. Collections
// are kind of like tables in which your data can and will be stored.
const db = new ElephantDB(['dogs', 'people']);

// You can add a single document like so:
db.select('people').add({
    id: 1, name: 'Steve', age: 38, job: 'developer'
});

// You can add multiple documents like so:
db.select('dogs').add([
    {
        id: 1, breed: 'Dachshund', hair: 'Short', name: 'Olive', age: 2
    },
    {
        id: 2, breed: 'Labrador', hair: 'Short', name: 'Albert', age: 10
    },
    {
        id: 3, breed: 'Cocker Spaniel', hair: 'Long', name: 'Bruce', age: 4
    }
]);

// You can then retrieve a single documents like so:
db.select('dogs').find({id: 3});
// {id: 3, breed: 'Cocker Spaniel', name: 'Bruce', age: 4}

// You can also find multiple documents:
db.select('dogs').findAll({hair: 'Short'});
// [
//     {id: 1, breed: 'Dachshund', hair: 'Short', name: 'Olive', age: 2},
//     {id: 2, breed: 'Labrador', hair: 'Short', name: 'Albert', age: 10}
// ]

// You can also provide a function to find documents:
db.select('dogs').findAll((dog) => dog.age < 5);
// [
//     {id: 1, breed: 'Dachshund', hair: 'Short', name: 'Olive', age: 2},
//     {id: 3, breed: 'Cocker Spaniel', hair: 'Long', name: 'Bruce', age: 4}
// ]

Full API

For examples check the tests.

#####ElephantDB([String]) Constructor to create an instance of ElephantDB. It takes a single array of string where each string is the name of a collection.

#####.select(String) Selects a single collection within which you would like to find, delete, update etc.

#####.find({}|fn) Finds & returns the first document that matches. Takes either an object or function to find you a document. You can use an object that defines your query (e.g. .find({name: 'John'}) to find the first document with the name of John). Alternatively you can use a function that returns true or false base on whether a document matches (e.g. .find((person) => person.age <= 30))

#####.findAll({}|fn) Same as .find() but returns an array of all documents that match. If called without a query, returns all documents in the selected collection.

#####.update({}|fn, {}|fn) Finds & returns the first document that matches (like .find()) and updates that document. For example: .update({id: 1}, {age: 15}) would find a dog with the id of 1 and set it's age to 15 (in the example above). Alternatively a function can be used to update the document: .update({id: 1}, (dog) => { dog.age = dog.age*2; })

#####.updateAll({}|fn, {}|fn) Same as update() but updates all documents that matches.

#####.delete({}|fn) Deletes & returns the first document that matches.

#####.deleteAll({}|fn) Deletes & returns all documents that match.

#####.dump() Returns all collections and stored objects.

FAQs

Package last updated on 21 Sep 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts