2010-06-09 7 views
8

Sto implementando un'applicazione messaggio utilizzando CouchDB. Voglio applicare i timestamp a ciascun messaggio. Ho trovato alcuni riferimenti che indicano che dovrei usare document update handlers per questo. Gli aggiornamenti sul posto sembrano la cosa giusta. Ma da dove otterrei un timestamp? È nell'oggetto req da qualche parte?Timestamp automatico CouchDb

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

http://stackoverflow.com/questions/4812235/whats-the-best-way-to-store-datetimes-timestamps-in-couchdb – abernier

risposta

7

La risposta è utilizzare le funzioni di data di javascript.

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

Sfortunatamente, ottenere questo aggiornamento per l'attivazione da jcouchdb è il prossimo problema.

+0

cosa significa "ottenere questo aggiornamento per il trigger è il prossimo problema" : vuoi dire una volta scritto il gestore di aggiornamento, il problema è come attivarlo "automaticamente" non appena il documento viene aggiornato? – abernier