FS-based database to use with co.
npm install co-db
$ cd examples/simple-db
$ tree .
.
└── doc1
var co = require('co'),
codb = require('..');
co(function * () {
var db = yield codb('examples/simple-db');
var doc = yield db.doc('doc1');
var contents = yield doc.contents;
console.log('----Doc Obj----')
console.log(doc);
console.log('----Doc Contents----')
console.log(contents.toString());
console.log('--------------------')
})();
$ node --harmony-generators examples/simple-db.js
----Doc Obj----
{ cwd: '/path/to/co-db',
id: 'doc1',
base: '/path/to/co-db/examples/simple-db',
path: '/path/to/co-db/examples/simple-db/doc1',
contents: [Function] }
----Doc Contents----
|
|
+ \
\\.G_.*=.
`(H'/.\|
.>' (_--.
_=/d ,^\
~~ \)-' '
/ |
' ' a:f
--------------------
$ cd examples/json-db
$ tree .
.
├── doc1.json
└── doc2.json
// examples/json-db.js
var co = require('co'),
codb = require('..');
co(function *() {
var jsonDb = yield codb('examples/json-db'),
docs = [];
jsonDb.use(function *(doc){
var contents = new Buffer(0),
chunk;
while (chunk = yield doc.contents) {
contents = Buffer.concat([contents, chunk]);
}
doc.contents = JSON.parse(contents.toString());
});
docs = yield jsonDb.docs();
docs.forEach(function (doc) {
console.log('id ==', doc.id);
console.log('contents ==', doc.contents);
console.log('------------------------------');
});
})();
$ node --harmony-generators examples/json-db.js
id == doc1.json
contents == { um: 'oh' }
------------------------------
id == doc2.json
contents == { wow: true }
------------------------------
MIT