2014-09-15 1 views
1

MongoDB의 쉘 버전에서 몽고에서 (날짜 데이터 형식으로) 날짜를 삽입하는 방법 : 2.0.4'mongoimport'에서 & '프롬프트 몽고 명령'

는 몽고의 명령 줄에서 '날짜 데이터 형식'으로 날짜를 삽입 할.

db.my_date_collection.insert(
{"user_id" : 91, 
"event_timestamp" :new Date("09-AUG-12 05.30.28.402000 AM") 
}); 

쿼리 위 ": 00 : 1970-01-01T00 00Z" "09 월 - 12 05.30.28.402000 AM"에서 기록하지만 변경 날짜를 추가

> db.my_date_collection.findOne() 
{ 
    "_id" : ObjectId("54168ddc289a635d725d86fb"), 
    "user_id" : 91, 
    "event_timestamp" : ISODate("1970-01-01T00:00:00Z") 
} 

게다가 그것은 또한 'didn를 t는 날짜 '데이터 형식'과 같은 '날짜 데이터'를 저장

typeof db.my_date_collection.findOne().event_timestamp; 


object 

누군가가 나에게 묻는 메시지가 몽고에서 날짜 형식으로 데이터를 삽입 도와 드릴까요?

또한 어떤 사람들은 tsv 파일에서 'date as date datatype type'을 어떻게 삽입 할 수 있습니까? mongoimport에서 tsv를로드하는 데 동일한 문제가 발생했습니다.

감사합니다.

+0

몽고는 자바 스크립트를 사용하며 언급 한 날짜 형식이 '유효하지 않습니다.'입니다. – Ravi

답변

1

날짜가 날짜 생성자에 의해 구문 분석 될 수있는 유효한 형식이 아닙니다. 올바른 형식으로 해당 값을 사용하십시오 (시간대를 포함하지 않았으므로 UTC 시간으로 가정 함).

"09-AUG-12 05.30.28.402000 AM"=> "2012-08-09T05 : 30 : 28.402 "

> var my_date = ISODate("2012-08-09T05:30:28.402") 
> db.my_dates.insert({ "x" : my_date }) 
> var doc = db.my_dates.findOne() 
> doc.x instanceof Date 
true 

반환 값은 날짜 타입이지만, 당신이 기대하는 것보다 그 의미와 방법 뭔가 날짜 유형인지 확인하는 방법은 분명히 다른, 그래서 자바 스크립트 객체 지향하지 않습니다. instanceof를 사용하여 특정 유형의 것이거나 그 유형에서 "상속"되는지 확인하십시오.

+0

도움에 감사드립니다 , 귀하의 솔루션 (내 입력 날짜 형식의 변경) 나를 위해 잘 일했다. – user3706888

0

코드가 적합합니다. typeof doc을보십시오. 보다 일반적인 유형을 반환 할 수 있습니다. instanceof를 사용하여 유형을 확인하십시오.

db.my_date_collection.findOne().event_timestamp instanceof Date 
+0

감사합니다 Piotr 질문이 하나 더 있는데 왜 내 날짜 "09-AUG-12 05.30.28.402000 AM"이 "1970-01-01T00 : 00 : 00Z"로 저장 되었습니까? 어떻게 해결할 수 있습니까? – user3706888

+0

새 날짜 ("09-AUG-12 05 : 30 : 28.402000 AM")가해야합니다. 내 대답을 유용하다고 표시하십시오. –

+0

답장 Piotr에게 감사하지만 "새로운 날짜 ("09-AUG-12 05 : 30 : 28.402000 AM ")"나에게 같은 결과가 주어졌다 "ISODate ("1970-01-01T00 : 00 : 00Z ")" – user3706888