Simple flat file database


A simple flat file database in node.js. Do not use this for production use.

var db = new Db("myfile.db");
var obj = { name:"Alex", age:28 };

Supported Operations:

db.set(obj, onWriteToDisk) /* => returns objId, which can be used with get to get it back */
db.get(objId, onResult)
db.remove(objId, onWriteRemoveToDisk)
db.find(filterFn, onResults)


  • onWriteToDisk and onResult have a signature of 2 parameters (err, result).
  • onWriteRemoveToDisk has a signature with 1 parameter (err).
  • onResults has a signature with 2 parameters (err, results) where results is a list of matching objects.


db.on("connected", onInitialReadFromDiskComplete)


You can pass { memory:true } as 2nd argument to the Db constructor and the database will be a pure in-memory one. This is useful for testing.

db = new Db("people.db", { memory:true });