$dateSubtract - Amazon DocumentDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

$dateSubtract

버전 5.0의 새로운 기능

Amazon DocumentDB의 $dateSubtract 집계 연산자를 사용하면 날짜 값에서 지정된 기간을 뺄 수 있습니다.

파라미터

  • date: 날짜 또는 타임스탬프로 확인되는 날짜 표현식입니다.

  • subtrahend: 표현식에서 뺄 시간을 지정하는 기간 date 표현식입니다.

  • unit: subtrahend 표현식의 시간 단위를 지정하는 문자열입니다. 지원되는 단위는 "연도", "분기", "월", "주", "일", "시간", "분", "초", "밀리초"입니다.

예제(MongoDB 쉘)

다음 예제에서는 $dateSubtract 연산자를 사용하여 현재 날짜로부터 1년 전의 날짜를 계산하는 방법을 보여줍니다.

샘플 문서 생성

db.events.insertOne({ eventName: "Player joined", eventTime: ISODate("2023-04-01T12:00:00Z") });

쿼리 예제

db.events.aggregate([ { $project: { eventName: 1, oneYearAgo: { $dateSubtract: { startDate: "$eventTime", amount: 1, unit: "year" } } } } ])

출력

{ "_id" : ObjectId("64567890abcdef012345678"), "eventName" : "Player joined", "oneYearAgo" : ISODate("2022-04-01T12:00:00Z") }

코드 예제

$dateSubtract 명령을 사용하기 위한 코드 예제를 보려면 사용하려는 언어의 탭을 선택합니다.

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const events = db.collection('events'); const result = await events.aggregate([ { $project: { eventName: 1, oneYearAgo: { $dateSubtract: { startDate: "$eventTime", amount: 1, unit: "year" } } } } ]).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient from bson.date_time import datetime def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] events = db['events'] result = list(events.aggregate([ { '$project': { 'eventName': 1, 'oneYearAgo': { '$dateSubtract': { 'startDate': '$eventTime', 'amount': 1, 'unit': 'year' } } } } ])) print(result) client.close() example()