An embedded JavaScript database for Node.js, Electron, and browsers with a MongoDB-like API.
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.
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.
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.
The JavaScript Database, for Node.js, nw.js, electron and the browser
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written entirely in JavaScript, it runs seamlessly in Node.js, Electron, and browsers without native modules, simplifying deployment and cross-platform use.
Supports common operations like insert, find, update, and remove with a similar syntax, reducing the learning curve for developers already comfortable with MongoDB.
Offers both in-memory and file-based storage with automatic compaction, and in browsers, it automatically uses IndexedDB, WebSQL, or localStorage for persistent data.
Allows creation of unique, sparse, and TTL indexes to speed up queries and enforce constraints, as documented in the indexing section.
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.
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.
For file-based storage, developers must manually call loadDatabase or rely on autoload, adding setup complexity compared to databases that auto-initialize.
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.