[MONGODB] 변환 ISO 날짜에 타임 스탬프에 몽고 쿼리
MONGODB변환 ISO 날짜에 타임 스탬프에 몽고 쿼리
여기에 질문입니다
[
{
"$project": {
"formattedDate": {
"$dateToString": { "format": "%Y-%m-%d", "date": "$ceatedAt" }
},
"createdAtMonth": { "$month": "$ceatedAt" },
"rating": 1
}
},
{
"$group": {
"_id": "$formattedDate",
"average": { "$avg": "$rating" },
"month": { "$first": "$createdAtMonth" },
}
}
]
나는 타임 스탬프의 날짜가 필요합니다. 그렇게하는 방법?
해결법
-
==============================
1.사용 $는 피감수 및 감수 등의 새로운 날짜 ( "1970-01-01")와 같은 날짜에 산술 집계 연산자를 뺍니다.
사용 $는 피감수 및 감수 등의 새로운 날짜 ( "1970-01-01")와 같은 날짜에 산술 집계 연산자를 뺍니다.
db.collection.aggregate( { $project: { "timestamp": { $subtract: [ "$createdAt", new Date("1970-01-01") ] } } } );
문서
{ "_id": 1, "createdAt": ISODate("2016-09-01T14:35:14.952Z") }
결과는
{ "_id": 1, "timestamp": NumberLong("1472740514952") }
당신이 그룹에 원하는 경우 모두 타임 스탬프와 (년, 월, 일)에 의해 당신은 (각 밀리 초 및되지 않음) 매일 고유 될 수 있도록, 하루에 밀리 세컨드의 양에 의해 타임 스탬프 나눌 수 있습니다
db.collection.aggregate( { $project: { "timestampByDay": { $floor: { $divide: [ { $subtract: [ "$createdAt", new Date("1970-01-01") ] }, 24 * 60 * 60 * 1000 ] } }, "date": "$createdAt" } }, { $group: { "_id": "$timestampByDay", "date": { $first: "$date" } } } );
-
==============================
2.MongoDB를 4.0 타임 스탬프로 날짜를 변환 $ toLong 집계를 발표했다
MongoDB를 4.0 타임 스탬프로 날짜를 변환 $ toLong 집계를 발표했다
db.collection.aggregate([ { "$project": { "createdAt": { "$toLong": "$createdAt" } }} ])
당신은 여기를 시도 할 수 있습니다
from https://stackoverflow.com/questions/39274311/convert-iso-date-to-timestamp-in-mongo-query by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB의 단일 문서 크기 제한 16메가바이트입니다 (0) | 2019.12.19 |
---|---|
[MONGODB] 그 배열 필드 주어진 배열의 적어도 N 개의 요소를 포함하는 문서를 찾을 (0) | 2019.12.19 |
[MONGODB] MongoDB의에서 배열의 내부 배열 내부의 업데이트 포함 된 개체 (0) | 2019.12.18 |
[MONGODB] MongoDB의에서 필드의 실제의 형태를 돌려줍니다 (0) | 2019.12.18 |
[MONGODB] MongoDB를이 - 권한 소켓 거부 : /tmp/mongodb-27017.sock를 (0) | 2019.12.18 |