Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Electron
  3. NeDB

NeDB

MITJavaScript

An embedded JavaScript database for Node.js, Electron, and browsers with a MongoDB-like API.

GitHubGitHub
13.5k stars1.0k forks0 contributors

What is NeDB?

NeDB is an embedded database written entirely in JavaScript, designed for Node.js, Electron, and browser environments. It provides a persistent or in-memory data store with an API that mimics MongoDB, allowing developers to perform common database operations without external dependencies. It solves the need for a lightweight, portable database that can run directly within JavaScript applications.

Target Audience

JavaScript developers building applications in Node.js, Electron, nw.js, or browsers who need a simple, embedded database without setting up a separate database server. It's ideal for small to medium-sized projects, prototypes, or offline-capable apps.

Value Proposition

Developers choose NeDB for its zero-dependency, pure-JavaScript implementation and familiar MongoDB-like API, which reduces the learning curve. Its ability to run across multiple platforms (server, desktop, browser) with consistent behavior makes it a versatile choice for embedded data storage needs.

Overview

The JavaScript Database, for Node.js, nw.js, electron and the browser

Use Cases

Best For

  • Building Electron apps that require local data persistence
  • Creating browser-based applications with offline storage
  • Prototyping Node.js projects without setting up MongoDB
  • Developing lightweight desktop apps with nw.js
  • Storing application data in-memory for fast access
  • Managing small datasets in JavaScript environments without external databases

Not Ideal For

  • Production applications requiring active maintenance and security updates
  • High-traffic systems needing scalable, distributed database capabilities
  • Projects dependent on advanced MongoDB features like aggregation pipelines or full-text search
  • Critical data environments where ACID transactions and robust error handling are essential

Pros & Cons

Pros

Zero Binary Dependencies

Written entirely in JavaScript, it runs seamlessly in Node.js, Electron, and browsers without native modules, simplifying deployment and cross-platform use.

Familiar MongoDB API

Supports common operations like insert, find, update, and remove with a similar syntax, reducing the learning curve for developers already comfortable with MongoDB.

Flexible Persistence Options

Offers both in-memory and file-based storage with automatic compaction, and in browsers, it automatically uses IndexedDB, WebSQL, or localStorage for persistent data.

Built-in Indexing Support

Allows creation of unique, sparse, and TTL indexes to speed up queries and enforce constraints, as documented in the indexing section.

Cons

Abandoned and Unmaintained

The README explicitly warns that the project is no longer maintained, meaning no bug fixes, security patches, or updates, which poses risks for production use.

Limited Query Capabilities

Only implements a subset of MongoDB's API, missing operators like $text for full-text search and advanced features such as aggregation, restricting complex data operations.

Manual Persistence Handling

For file-based storage, developers must manually call loadDatabase or rely on autoload, adding setup complexity compared to databases that auto-initialize.

Performance Scaling Issues

Benchmarks show it's fast for small datasets, but the in-memory model and append-only persistence can become inefficient with large volumes or high concurrency.

Frequently Asked Questions

Quick Stats

Stars13,541
Forks1,011
Contributors0
Open Issues170
Last commit1 year ago
CreatedSince 2013

Tags

#javascript-database#nosql#embedded-database#nodejs#mongodb-api#persistent-storage#indexing#browser-database#in-memory-database#electron

Built With

J
JavaScript
N
Node.js

Included in

Node.js65.5kJavaScript34.9kElectron27.1k
Auto-fetched 4 hours ago

Related Projects

PrismaPrisma

Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

Stars47,378
Forks2,403
Last commit10 hours ago
TypeORMTypeORM

TypeScript & JavaScript ORM for Node.js — supports PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Oracle, and more.

Stars36,599
Forks6,649
Last commit1 day ago
Drizzle ORMDrizzle ORM

ORM

Stars35,233
Forks1,489
Last commit22 hours ago
SequelizeSequelize

Feature-rich ORM for modern Node.js and TypeScript, it supports PostgreSQL (with JSON and JSONB support), MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB, DB2 and DB2 for IBM i.

Stars30,375
Forks4,348
Last commit3 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub