2017-01-27 12 views
1

私は現在、MongoDB、NodeJS、およびHandlebarsを使用しており、ユーザーIDをタイムスタンプに変換しようとして、そのタイムスタンプを自分のHTMLに入れようとしています。今、私は{{user.id}}書き込むことによって、私のウェブサイト上のユーザーIDを表示することができ、私は日付に、idを変更する関数があります。しかしMongoDBからハンドルバーにアカウント作成日を挿入しますか?

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

を、私はトラブル縫い合わせを抱えています情報のこれらの2つのビットは一緒にウェブサイト上の日付を表示する。

ご協力いただければ幸いです。ありがとう!

+0

ハンドルバーファイルをレンダリングする場所のコードを表示してください – FastTurtle

答えて

0

あなたがハンドルバーhelper作成する必要があります。

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

とそれへの引数としてオブジェクトIDを渡した:

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

だから何あなたが表示されますすることになります:木:で作成された

2月16日2017 00:00:00 GMT + 0100

あなたがこのフォームでは、サーバからのMongoDBドキュメント:

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

あなたはこのようにそれを使用することができます。

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

hereそれを試してみてください。

関連する問題