Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB – "문자열 유형에서 날짜 유형으로 변환 실패" 수정?

<시간/>

이 문제를 해결하려면 MongoDB 집계()에서 $dateFromString을 사용하십시오. $dateFromString은 날짜/시간 문자열을 날짜 개체로 변환합니다.

문서로 컬렉션을 만들자 −

> db.demo619.insertOne({"DueDate":"10-10-2020"});{ "승인됨" :true, "insertedId" :ObjectId("5e99d7846c954c74be91e69e")}> .insert69e {"DueDate":"12-01-2019"});{ "확인됨":true, "insertedId":ObjectId("5e99d7996c954c74be91e69f")}> db.demo619.insertOne({"DueDate":-"2 2010"});{ "승인됨" :true, "insertedId" :ObjectId("5e99d7ab6c954c74be91e6a0")}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo619.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id":ObjectId("5e99d7846c954c74be91e69e"), "DueDate":"10-10-2020" }{ "_id":ObjectId("5e99d7996c954c74be91e69fate"), "-10DueDate") }{ "_id" :ObjectId("5e99d7ab6c954c74be91e6a0"), "DueDate" :"2010년 10월 28일" }

다음은 ty 날짜/시간 문자열에서 날짜 개체로 변환하는 쿼리입니다. -

> db.demo619.aggregate( [ {... $project:{... DueDate:{... $dateFromString:{... dateString:'$DueDate',... timezone:'America/ New_York'... }... }... }... } ] )

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" :ObjectId("5e99d7846c954c74be91e69e"), "DueDate" :ISODate("2020-10-10T04:00:00Z") }{ "_id":ObjectId("5e99d1996c") ISODate("2019-01-12T05:00:00Z") }{ "_id":ObjectId("5e99d7ab6c954c74be91e6a0"), "DueDate":ISODate("2010-10-28T04:00:00Z")