$dateSubtract - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

$dateSubtract

Novo a partir da versão 5.0

O operador $dateSubtract de agregação no Amazon DocumentDB permite que você subtraia uma duração especificada de um valor de data.

Parâmetros

  • date: uma expressão de data que se transforma em uma data ou carimbo de data/hora.

  • subtrahend: uma expressão de duração que especifica a quantidade de tempo a ser subtraída da date expressão.

  • unit: uma string que especifica a unidade de tempo para a subtrahend expressão. As unidades suportadas são “ano”, “trimestre”, “mês”, “semana”, “dia”, “hora”, “minuto”, “segundo” e “milissegundo”.

Exemplo (MongoDB Shell)

O exemplo a seguir demonstra como usar o $dateSubtract operador para calcular a data de um ano atrás a partir da data atual.

Crie documentos de amostra

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

Exemplo de consulta

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

Saída

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

Exemplos de código

Para ver um exemplo de código para usar o $dateSubtract comando, escolha a guia do idioma que você deseja usar:

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()