2010-06-09 6 views
8

J'implémente une application de messagerie en utilisant CouchDB. Je veux appliquer des horodatages à chaque message. J'ai trouvé quelques références indiquant que je devrais utiliser document update handlers pour cela. Les mises à jour en place semblent être la bonne chose. Mais d'où aurais-je un horodatage? Est-ce que c'est dans l'objet req quelque part?Horodatage automatique 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

Répondre

7

La réponse est d'utiliser les fonctions de date de javascript.

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

Malheureusement, obtenir cette mise à jour pour déclencher à partir de jcouchdb est le prochain problème.

+0

Que voulez-vous dire "obtenir cette mise à jour pour déclencher est le prochain problème" : voulez-vous dire une fois le gestionnaire de mise à jour écrit, le problème est de savoir comment le déclencher "automatiquement" dès que le document est mis à jour? – abernier