2017-01-27 3 views
1

Ich verwende derzeit MongoDB, NodeJS und Handlebars und versuche, Benutzer-ID in einen Zeitstempel zu konvertieren, dann diesen Zeitstempel in meinen HTML-Code einzufügen. Im Moment kann ich die Benutzer-ID auf meiner Website zeigen, indem er {{user.id}}, und ich habe eine Funktion, die die ID in ein Datum ändert:Kontoerstellungsdatum von MongoDB in Lenker einfügen?

var dateFromObjectId = function (objectId) { 
    return new Date(parseInt(objectId.substring(0, 8), 16) * 1000); 
}; 

Aber ich habe Probleme beim Ansetzen Diese beiden Informationen zusammen zeigen das Datum auf der Website.

Jede Hilfe würde geschätzt werden; Vielen Dank!

+0

können Sie bitte den Code zeigen, wo Sie die Lenkstange Datei rendern – FastTurtle

Antwort

0

Sie müssen Lenker erstellen helper:

Handlebars.registerHelper('toDate', function(objectId, options) { 
    return new Date(parseInt(objectId.toString().substring(0, 8), 16) * 1000); 
}); 

und Objekt-ID als Argument an sie übergeben:

<p><b>Created at:</b> {{#toDate '58a4dd700000000000000000'}}{{/toDate}}</p> 

So was werden Sie sehen:

Erstellt am: Thu 16. Februar 2017 00:00:00 GMT + 0100

Angenommen, Sie übergeben Benutzer MongoDB Dokument vom Server in dieser Form:

{ 
    user: { 
     _id: ObjectId("58a62ef00000000000000000"), 
     first_name: "John", 
     last_name: "Doe" 
    } 
} 

Sie es wie folgt verwenden:

<ul> 
    <li>First name: {{user.first_name}}</li> 
    <li>Last name: {{user.first_name}}</li> 
    <li>Created at: {{#toDate user._id}}{{/toDate}}</li> 
</ul> 

Try it here aus.