LokiJS is a document oriented client side database written in javascript. Its purpose is to store javascript objects as documents in a nosql fashion and retrieve them with a similar mechanism. Runs in node and the browser. LokiJS is ideal for the following scenarios:

  1. where a lightweight in-memory db is ideal
  2. cross-platform mobile apps where you can leverage the power of javascript and avoid interacting with native databases
  3. data sets are not so large that it wouldn’t be a problem loading the entire db from a server and synchronising at the end of the work session

LokiJS has limited supports for indexing, transactions, couchdb-style views.

In a nodejs/node-webkit environment LokiJS also persists to disk whenever an insert, update or remove is performed.