In May 2013, Louis Chatriot began developing a lightweight embeddable and in memory database system that used a subset of the MongoDB API. It was completed in 2017 and now is on GitHub where individuals can contribute to the project by fixing several bugs but no additional features are being implemented.
NeDB supports indexing and helps provide a sufficient speed boost. It allows for indexing of any field, including those in nested documents. An index can be created at any point, even after data has been inserted, although it is most efficient if done when the application is started because the index is created synchronously. The time to create an index is quite fast so it doesn't impact startup time too much, for example it takes 35ms for a database containing 10,000 documents. Additionally, indexes allow for the database to perform fast reads and writes. The amount is approximately 5,000 writes and 25,000 reads per second.
The DBMS reads the entire database into memory. It can then flush out all changes on shutdown.