Skip to content
This repository has been archived by the owner on Apr 29, 2021. It is now read-only.
/ nosqlite Public archive

human readable nosql type filesystem json store

License

Notifications You must be signed in to change notification settings

sunkarapk/nosqlite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nosqlite

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

About

human readable nosql type filesystem json store

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •