Skip to content

Instantly share code, notes, and snippets.

@siculars
Created September 1, 2010 06:29
Show Gist options
  • Save siculars/560314 to your computer and use it in GitHub Desktop.
Save siculars/560314 to your computer and use it in GitHub Desktop.
function returnPosts(postKeys, req, res){
//sys.puts('postKeys:' + postKeys);
var inputs = [];
for (var i=0;i < postKeys.length;i++){
var bk = ["posts", postKeys[i].toString() ];
//sys.puts('bk: '+bk);
inputs.push(bk);
}
//sys.puts('inputs:' + JSON.stringify(inputs));
var map = function(v, keydata, args) {
if (v.values) {
var ret = [];
o = Riak.mapValuesJson(v)[0];
o.lastModifiedParsed = Date.parse(v["values"][0]["metadata"]["X-Riak-Last-Modified"]);
o.key = v["key"];
//o.lastModified = v["values"][0]["metadata"]["X-Riak-Last-Modified"];
ret.push(o);
return ret;
} else {
return [];
}
};
var reduceDescending = function ( v , args ) {
v.sort ( function(a,b) { return b['lastModifiedParsed'] - a['lastModifiedParsed'] } );
return v
};
riak
.map(map)
.reduce(reduceDescending)
.run(inputs)(function(response) {
//sys.puts(JSON.stringify(response));
res.simpleJSON(200, response );
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment