Mongo 셸에서 Date() 삽입하기
Mongo 셸(mongo shell)을 통해 MongoDB에 Date() 값을 삽입하려면 먼저 날짜 변수를 생성한 뒤, 이를 도큐먼트의 필드 값으로 지정하는 방식을 사용합니다.
기본 문법
var yourVariableName = new Date(year, month, day, hour, minute);
db.yourCollectionName.insertOne({yourDateFieldName: yourVariableName});참고: 자바스크립트의 Date 객체에서 월(month)은 0부터 시작합니다. 즉, 3을 입력하면 4월을 의미합니다.
1단계: 날짜 변수 생성
먼저 삽입할 날짜 값을 담을 변수를 생성해 보겠습니다.
> var creatingDate = new Date(2019, 03, 29, 13, 12);
2단계: 컬렉션에 도큐먼트 삽입
이제 생성한 날짜 변수를 포함한 도큐먼트를 insertOne() 메서드로 컬렉션에 삽입합니다.
> db.insertingDateUsingVariableDemo.insertOne({"UserName":"John","UserMessages":["Hi","Hello","Awesome"],"UserPostDate":creatingDate});3단계: find() 메서드로 데이터 확인
find() 메서드에 pretty() 메서드를 함께 사용하면 컬렉션의 모든 도큐먼트를 읽기 좋은 형태로 출력할 수 있습니다.
> db.insertingDateUsingVariableDemo.find().pretty();
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
{
"_id" : ObjectId("5c9d1b19a629b87623db1b21"),
"UserName" : "John",
"UserMessages" : [
"Hi",
"Hello",
"Awesome"
],
"UserPostDate" : ISODate("2019-04-29T07:42:00Z")
}출력 결과에서 알 수 있듯이, 입력한 날짜는 로컬 시간대 기준 값이 MongoDB에 의해 UTC 기준의 ISO 8601 형식인 ISODate("2019-04-29T07:42:00Z")로 변환되어 저장됩니다. 따라서 로컬 시간으로 입력한 값과 조회 결과의 시간이 다르게 보일 수 있으니 주의해야 합니다.