EJDB is an embedded JSON database engine. It aims to be a fast MongoDB-like NoSQL library that can be embedded into C/C++/Nodejs/Python3/Lua applications. It features collection-level write locking, collection level transactions, string token matching queries, and a Node.js binding.
| Tags | NoSQL JSON nodejs Database Library embedded storage Storage Engine Persistence |
|---|---|
| Licenses | LGPL |
| Operating Systems | UNIX / Linux |
| Implementation | C C++ JavaScript Node.js Tokyo Cabinet Lua Python |
Recent releases


Release Notes: All EJDB and all TokyoCabinet APIs have been ported to Windows. Java and Ruby bindings have been added. There are fixes for various performance and stability issues.


Release Notes: This release adds EJDB Python3 and Lua bindings and fixes various minor bugs.


Release Notes: Collection joins are now supported (ticket #43).


Release Notes: This release comes with a number of critical bugfixes. An atomic "$upsert" operation has been implemented. This release exposes the EJDB C library transaction API in the Nodejs binding API. It optimizes trivial "count(*)" and "$dropall" operations for whole collection (tickets #27 and #26). It removes the CUnit library dependency for release builds.


Release Notes: In this release a number of critical bugs have been fixed, and considerable performance enhancements made; as result, the number of memory allocs has been reduced by 20-30%. This release fixes a crash on update queries with single indexed field (ticket: #23). It fixes a crash on collection removal (ticket: #18). It fixes incorrect dropping of field indexes (ticket: #16). Nodejs database cursors now are more GC friendly. It adds mongodb-like "$elemMatch" support in queries (ticket: #13).