Welcome to EJDB!


EJDB is the embeddable (in-process) database engine designed for querying collections of JSON documents and persisting data. EJDB is implemented as a C library based on Tokyo Cabinet key-value storage engine. EJDB design is inspired by Mongodb and follows the same philosophy , especially for the query language

EJDB is good for:

  • In-process database for standalone desktop applications. (The SQLite niche);
  • Games development;
  • Simple server-side solution;
  • Whenever a fast in-process data-communication with storage layer is much preferred over TCP/IP transport;


EJDB is the open source project distributed under the terms of GNU LGPL v2.1 license. Basically, that means you can freely use it in your commercial and open source projects, but if you change some part of EJDB code you should open-source these changes under LGPL licence.


  • Generic key-value storage using Hash or B+ tree index.
  • Collection level transactions.
  • Mongodb-like queries and overall philosophy.
  • Collection joins in query language.
  • Language bindings: Nodejs, Python, Lua, Java, Ruby, .Net, Go




Here you can use the following keybindings for navigation:

Go to the next chapter
Got to the previous chapter
Ctrl + ↑ Go to the parent chapter
Home Go to the documentation home page