$dateSubstract - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$dateSubstract

Nouveau depuis la version 5.0

L'opérateur $dateSubtract d'agrégation dans Amazon DocumentDB vous permet de soustraire une durée spécifiée d'une valeur de date.

Paramètres

  • date: expression de date qui prend la forme d'une date ou d'un horodatage.

  • subtrahend: expression de durée qui indique la durée à soustraire de l'dateexpression.

  • unit: chaîne qui indique l'unité de temps de l'subtrahendexpression. Les unités prises en charge sont « année », « trimestre », « mois », « semaine », « jour », « heure », « minute », « seconde » et « milliseconde ».

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$dateSubtractopérateur pour calculer la date d'il y a un an à partir de la date actuelle.

Création d'exemples de documents

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

Exemple de requête

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

Sortie

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

Exemples de code

Pour afficher un exemple de code relatif à l'utilisation de la $dateSubtract commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

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