human readable nosql type filesystem json store
CoffeeScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
data
lib
src
test
.gitignore
.npmignore
.travis.yml
README.md Auto id generation when no id is supplied Jul 7, 2013
package.json

README.md

nosqlite Build Status

nosqlite is human readable nosql type filesystem json store

Installation

npm install nosqlite

Usage

Create a connection

// Default path for store
connection = new(require('nosqlite').Connection)();

// Custom path for store
connection = new(require('nosqlite').Connection)('/path/to/store');

Select a database

// Default db is 'test'
db = connection.database('dummy');

Check if database exists

// Async
db.exists(function (exists) {
  if (!exists) console.log('Need to create it');
});

// Sync
if (!db.existsSync()) console.log('Need to create it');

Create a database

// Async
db.create(function (err) {
  if (err) throw err;
});

//Sync
db.createSync();

Destroy a database

// Async
db.destroy(function (err) {
  if (err) throw err;
});

//Sync
db.destroySync();

Create a document

If obj.id (or obj._id ) is not supplied, obj.id is auto generated.

// Async
db.post(obj, function (err, id) {
  if (err) throw err;
  console.log(id);
});

// Sync
// returns id
db.postSync(obj);

Get a document

// Async
db.get('bob', function(err, obj) {
  if (err) throw err;
  console.log(obj);
});

// Sync
db.getSync('bob');

Update a document

// Async
db.put('bob', {age: 35}, function (err) {
  if (err) throw err;
});

// Sync
db.putSync('bob', {age: 35});

Delete a document

// Async
db.delete('bob', function (err) {
  if (err) throw err;
});

// Sync
db.deleteSync('bob');

Find a document

// Async
db.find({hair: 'black'}, function (err, docs) {
  if (err) throw err;
});

// Sync
docs = db.findSync({hair: 'black'});

All documents

// Async
db.all(function (err, docs) {
  if (err) throw err;
});

// Sync
docs = db.allSync();

If you like this project, please watch this and follow me.

Testing

npm test

Contributors

Here is a list of Contributors

TODO

  • Auto ID generation
  • Authentication system
  • Map-Reduce (views)
  • Buffer writes internally
  • Concurrent writes from multi processes

I accept pull requests and guarantee a reply back within a day

License

MIT/X11

Bug Reports

Report here. Guaranteed reply within a day.

Contact

Pavan Kumar Sunkara (pavan.sss1991@gmail.com)

Follow me on github, twitter