
Security News
n8n Tops 2025 JavaScript Rising Stars as Workflow Platforms Gain Momentum
n8n led JavaScript Rising Stars 2025 by a wide margin, with workflow platforms seeing the largest growth across categories.
elephant-db
Advanced tools
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
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}
// ]
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
A simple in-memory node database.
We found that elephant-db demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Security News
n8n led JavaScript Rising Stars 2025 by a wide margin, with workflow platforms seeing the largest growth across categories.

Security News
The U.S. government is rolling back software supply chain mandates, shifting from mandatory SBOMs and attestations to a risk-based approach.

Security News
crates.io adds a Security tab backed by RustSec advisories and narrows trusted publishing paths to reduce common CI publishing risks.