Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 날짜가 포함된 문서를 삽입하는 방법

MongoDB에서 날짜 정보가 포함된 문서를 삽입하려면 Date() 함수를 사용하면 됩니다. 날짜 필드는 BSON Date 타입으로 저장되며, ISODate 형식으로 표시됩니다.

기본 문법

"yourFieldName": new Date(yourDateValue);

날짜가 포함된 컬렉션 생성하기

먼저 날짜 필드를 가진 문서들을 컬렉션에 삽입해 보겠습니다. insertOne() 메서드를 사용하여 다음과 같이 작성할 수 있습니다.

> db.insertDocumentWithDateDemo.insertOne({"UserName":"Larry","UserMessage":"Hi","UserMessagePostDate":new Date("2012-09-24")});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5c9cca58a629b87623db1b16")
}
> db.insertDocumentWithDateDemo.insertOne({"UserName":"Chris","UserMessage":"Hello","UserMessagePostDate":new Date("2015-12-31")});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5c9cca71a629b87623db1b17")
}
> db.insertDocumentWithDateDemo.insertOne({"UserName":"Robert","UserMessage":"Bye","UserMessagePostDate":new Date("2019-01-01")});
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5c9cca85a629b87623db1b18")
}

위 쿼리는 각각 사용자 이름, 메시지 내용, 그리고 메시지 작성 날짜를 담은 세 개의 문서를 성공적으로 삽입했습니다. 각 문서에는 자동으로 고유한 ObjectId가 부여된 것을 확인할 수 있습니다.

삽입된 문서 조회하기

이제 find() 메서드를 사용하여 컬렉션에 저장된 모든 문서를 조회해 보겠습니다. pretty() 메서드를 함께 사용하면 결과를 보기 좋게 정렬하여 출력할 수 있습니다.

> db.insertDocumentWithDateDemo.find().pretty();

위 쿼리를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

{
    "_id" : ObjectId("5c9cca58a629b87623db1b16"),
    "UserName" : "Larry",
    "UserMessage" : "Hi",
    "UserMessagePostDate" : ISODate("2012-09-24T00:00:00Z")
}
{
    "_id" : ObjectId("5c9cca71a629b87623db1b17"),
    "UserName" : "Chris",
    "UserMessage" : "Hello",
    "UserMessagePostDate" : ISODate("2015-12-31T00:00:00Z")
}
{
    "_id" : ObjectId("5c9cca85a629b87623db1b18"),
    "UserName" : "Robert",
    "UserMessage" : "Bye",
    "UserMessagePostDate" : ISODate("2019-01-01T00:00:00Z")
}

참고 사항

MongoDB에 저장된 날짜 값은 ISODate 형식(UTC 기준)으로 표시되는 것을 확인할 수 있습니다. 날짜만 지정하고 시간을 생략하면 해당 날짜의 자정(00:00:00 UTC)으로 자동 설정됩니다. 또한 new Date()에 인자를 전달하지 않으면 현재 시각이 자동으로 저장되므로, 게시글 작성 시간처럼 실시간 타임스탬프가 필요한 경우에도 유용하게 활용할 수 있습니다.