2017-12-02 5 views
1

나는 내 웹 사이트의 로그를 내 데이터베이스에 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.dateDate이 아닌 String으로 간주됩니다.

여기에 무슨 일이 일어 났는지 아는 사람이 있습니까?

답변

0

JavaScript Date 객체를 ISO 날짜 문자열과 혼합합니다. 데이터베이스에 저장하면 문자열이됩니다. 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