mongodb에 날짜/시간을 저장하는 가장 좋은 방법
문자열, 정수 타임스탬프, mongo datetime 객체를 사용하는 것을 보았습니다.
가장 좋은 방법은 네이티브 JavaScript Date 객체를 저장하는 것입니다.이 객체는 BSON 네이티브 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) 엄밀히 말하면, Unix 타임스탬프는 초단위로 측정됩니다.JavaScript Date 객체는 Unix Epoch 이후 밀리초 단위로 측정합니다.
삽입 시간을 나타내는 하나의 데이터 스탬프가 이미 _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" }
각 행을 yyy-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를 통해 그 작동 방법에 대해 설명하겠습니다.
Pymongo를 사용하면 MongoDB는 네이티브 Python을 저장합니다.datetime
로서 반대하다.Date
필드. 이거Date
MongoDB의 필드는 나중에 날짜 관련 쿼리를 용이하게 할 수 있습니다(예: 쿼리 간격).따라서 이러한 코드는 Python에서 작동합니다.
from datetime import datetime
datetime_now = datetime.utcnow()
new_doc = db.content.insert_one({"updated": datetime_now})
그 후 데이터베이스에 다음과 같은 필드가 표시됩니다(Mongo 나침반을 사용하여 db를 봅니다).문자열(따옴표 없음)로 저장되지 않고 다음과 같이 표시됩니다.Date
필드 유형으로 지정합니다.
javascript 사용에 대해서는, 거기서도 유효합니다.+00:00(내 경우는 UTC) 또는Z
당신의 날짜가 끝나면 Javascript는 시간대 정보와 함께 날짜를 제대로 읽을 수 있을 것입니다.
다음 코드를 사용하여 문서에 할당할 수 있는 datetime 변수를 만드십시오(날짜 개체가 아닌 datetime 개체를 만듭니다).
from datetime import date
from datetime import datetime
import random
def random(date):
my_year=random.randint(2020,2022)
my_month=random.randint(1,12)
my_day=random.randint(1,28)
selected=datetime(year = my_year, month = my_month, day = my_day, hour = 0, minute = 0, second = 0)
def insert_objects(collection):
collection.insert_one( { "mydate": random_date() })
언급URL : https://stackoverflow.com/questions/3778428/best-way-to-store-date-time-in-mongodb
'sourcecode' 카테고리의 다른 글
많은 데이터를 포함하는 AngularJS 무한 스크롤 (0) | 2023.02.22 |
---|---|
서브슬라이밍 텍스트용 JSX 포메터가 있나요? (0) | 2023.02.22 |
하위 테마에서 Wordpress 테마 옵션을 제거하는 방법 (0) | 2023.02.18 |
'가 Angular 컴포넌트인 경우 이 모듈의 일부인지 확인합니다. (0) | 2023.02.15 |
스프링 부츠를 사용한 심플한 임베디드 Kafka 테스트 예시 (0) | 2023.02.15 |