Programing

mongodb에 날짜 / 시간을 저장하는 가장 좋은 방법

lottogame 2020. 6. 1. 07:38
반응형

mongodb에 날짜 / 시간을 저장하는 가장 좋은 방법


문자열, 정수 타임 스탬프 및 몽고 날짜 시간 객체를 사용하는 것을 보았습니다.


가장 좋은 방법은 BSON 기본 Date 객체에 매핑되는 기본 JavaScript Date 객체 를 저장 하는 것 입니다.

> db.test.insert({date: ISODate()})
> db.test.insert({date: new Date()})
> db.test.find()
{ "_id" : ObjectId("..."), "date" : ISODate("2014-02-10T10:50:42.389Z") }
{ "_id" : ObjectId("..."), "date" : ISODate("2014-02-10T10:50:57.240Z") }

기본 유형은 예를 들어 맵 축소 작업에 사용할 수있는 다양한 유용한 방법을 기본적으로 지원합니다 .

필요한 경우 메소드와 생성자를 사용하여 Date오브젝트를 Unix 타임 스탬프 1) 에서 쉽게 변환 할 수 있습니다 .getTime()Date(milliseconds)

1) 엄밀히 말하면, 유닉스 타임 스탬프는 초 단위 로 측정됩니다 . JavaScript Date 객체 는 Unix 시대 이후 밀리 초 단위로 측정됩니다 .


하나의 날짜 스탬프가 이미 _id 객체에 있으며 삽입 시간을 나타냅니다.

따라서 삽입 시간이 필요한 경우 이미 있습니다.

mongodb 쉘에 로그인

ubuntu@ip-10-0-1-223:~$ mongo 10.0.1.223
MongoDB shell version: 2.4.9
connecting to: 10.0.1.223/test

항목을 삽입하여 데이터베이스를 작성하십시오.

> db.penguins.insert({"penguin": "skipper"})
> db.penguins.insert({"penguin": "kowalski"})
> 

그 데이터베이스를 우리가 지금있는 데이터베이스로 만들 수 있습니다

> use penguins
switched to db penguins

행을 다시 가져옵니다.

> db.penguins.find()
{ "_id" : ObjectId("5498da1bf83a61f58ef6c6d5"), "penguin" : "skipper" }
{ "_id" : ObjectId("5498da28f83a61f58ef6c6d6"), "penguin" : "kowalski" }

yyyy-MM-dd HH : mm : ss 형식으로 각 행을 가져옵니다.

> db.penguins.find().forEach(function (doc){ d = doc._id.getTimestamp(); print(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds()) })
2014-12-23 3:4:41
2014-12-23 3:4:53

마지막 한 줄짜리가 당신을 혼란스럽게한다면, 그것이 어떻게 작동하는지에 대한 연습이 있습니다 : https://stackoverflow.com/a/27613766/445131

MongoDB는 웹 스케일이기 때문에 Protip, MongoDB는 최고의 DB입니다 : https://www.youtube.com/watch?v=b2F-DItXtZs

참고 URL : https://stackoverflow.com/questions/3778428/best-way-to-store-date-time-in-mongodb

반응형