level1 is a JavaScript API over leveldb. besides the core abstraction, exposes a command line interface and an HTTP one too.

level 1 - A leveldb wrapper for nodejs

It offers an tiny abstraction over the leveldb key value store (docs), a command line interface (docs, example), an http interface (docs, example,) and an http client (example 1, example 2) for cross-domain usage in web sites.

This project's code is MIT licensed.

This project is a work in development, meaning the API is subject to change (eventually). Don't use it in production sites just yet.

I haven't tested the project on Windows. It might break due to slash paths, but I'm not sure. If you do test it there and it works drop me a line.

  • You need KISS persistence for a web experiment
  • You want to do CRUD of JS objects
  • You want easy KPIs

Make sure you have a somewhat recent install of node.js >=0.8 should work just fine. Then the following line should install level1 and its dependencies (leveldown compiles leveldb so it may take some minutes if you haven't installed this dependency yet):

npm install level1

Either clone the repository and run the examples from there


install via npm and copy the examples from github, replacing the level1 require for require('level1').

  • add modify method (or extend search) to allow changing/deleting a subset of the items

  • add sort/pagination, caching the overall query result

  • support an optional access control function to tweak which http requests are authorized to do which operations

  • expose the on events on http via socket.io

  • support for binary files upload and download

If you're using level1 and have suggestions or if you're not using for lacking of feature x, please let me know.