Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Simple JSON file database for nodejs
JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
examples
README
def.js
kabin.js
package.json

README

-- Welcome to Kabin! (alpha warning!)--

  This is a simple JSON file database for nodejs.
  The console (examples/prompt.js) has already connected to the sample database.

  Connect to a directory at path var db = new kabin.JSON({path: 'data'});
  Create a new record with db.insert('e', {x: 10, y: 20})
  Read data from a record with db.e.x => 10
  Write data to a record with d.e = {x: 1, y: 2}

  db.migrate() -> migrate to latest version. db.version is the current version.
  db.migrate({version: x}) -> migrate to version x. up or down depending on current version.

  Put a model in db/models. See Recipe.js for an example:
    {
      init: function (data) {
        this.data = data;
        if(!this.data.saved) { this.data.saved = 0; }
      },
      
      getIngredients: function () {
        return this.data.ingredients;
      },
      
      onSave: function () {
        this.data.saved += 1;
        return this.data;
      }
    }
  A model must have the onSave function which defines what json-data it saves.
  A JSON file with the field type, will check if such a model exists, and then create it.
  See db.data.b for an example of a Recipe class instance.
  Will probably make the saving more logical.
  Currently to save changes to db.data.b you need to write db.data.b = db.data.b.

kabin>
Something went wrong with that request. Please try again.