Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
human readable nosql type filesystem json store
CoffeeScript
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
data
lib
src
test
.gitignore
.npmignore
.travis.yml Update src, deps, and tests for 0.8-0.10
README.md
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

Something went wrong with that request. Please try again.