Skip to content

Instantly share code, notes, and snippets.

@victusfate
Forked from anandology/coucheval.js
Created January 13, 2012 20:33
Show Gist options
  • Save victusfate/1608557 to your computer and use it in GitHub Desktop.
Save victusfate/1608557 to your computer and use it in GitHub Desktop.
node.js script to process couchdb output
#!/usr/bin/env node
// Sample usage:
//
// $ curl -s 'http://127.0.0.1:15984/seeds/_all_docs?limit=10&include_docs=true' | coucheval.js 'console.log(JSON.stringify(row.doc));'
//
var carrier = require('carrier');
var stdin = process.openStdin();
stdin.setEncoding('utf8');
var couchparse = function(callback) {
var firstline = true;
carrier.carry(stdin, function(line) {
// skip first line
if (firstline) {
firstline = false;
return;
}
// skip last line
if (line.substr(0, 2) == "]}") {
return;
}
if (line[line.length-1] == ",")
line = line.substr(0, line.length-1);
callback(line);
});
};
couchparse(function(line) {
var row = JSON.parse(line);
eval(process.argv[2]);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment