2017-12-02 4 views
1

に、私は私のウェブサイトのログのための私のデータベースにdate項目を保存したい文字列とみなされます。日は、フロントエンド

var LogSchema = new mongoose.Schema({ 
    date: Date, 
    ... ... 
}) 

バックエンドにログを生成して保存するには:

log.date = new Date() 
console.log(log.date.getTime()) // it works well 
log.save(...) 

mongoでデータベースをチェックすると、"date" : ISODate("2017-12-02T01:51:44.540Z")と表示されます。

しかし、フロントエンドでログを読みたい場合、log.date.getTime()はエラーTypeError: log.date.getTime is not a functionです。 log.dateは、Dateではなく、Stringと考えられます。

ここで何が間違っているのか分かりますか?

答えて

0

JavaScript DateオブジェクトとISO Date文字列を混合しています。データベースに保存すると、文字列になります。 getTime()メソッドを使用するには、日付文字列をjavascriptの日付オブジェクトに変換する必要があります。試してください:

var myDate = new Date(dateStringFromDatabase); 
console.log(myDate.getTime()); 
+0

JavaScript Dateオブジェクトをデータベースに保存することはできますか?私は 'var LogSchema = new mongoose.Schema({date:Object})'を試しましたが、まだISOの日付文字列を保存しています。 – SoftTimur

+1

私が知っているわけではありません。可能であれば、それらが異常な方法で格納されていると、日付に基づいて照会することが困難になることがあります。 – Alan

関連する問題