Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
36 lines (29 sloc) 1.28 KB
-- 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>