Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CouchDb automatic timestamps

I'm implementing a message application using CouchDB. I want to apply timestamps to each message. I found some references indicating that I should use document update handlers for this. In place updates seem like the right thing. But where would I get a timestamp from? Is it in the req object somewhere?

{
  updates: {
    "in-place" : function(doc, req) {
      doc.timestamp = "???";
      var message = "set timestamp to "+doc.timestamp;
      return [doc, message];
    }
  }
}
like image 771
SorcyCat Avatar asked Jun 09 '10 21:06

SorcyCat


1 Answers

The answer is to use javascript's date functions.

{
  updates: {
    "in-place" : function(doc, req) {
      doc.timestamp = new Date().getTime();
      var message = "set timestamp to "+doc.timestamp;
      return [doc, message];
    }
  }
}

Unfortunately, getting this update to trigger from jcouchdb is the next problem.

like image 141
SorcyCat Avatar answered Sep 19 '22 20:09

SorcyCat