$dataAggiungi - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

$dataAggiungi

Nuovo dalla versione 5.0

L'operatore di $dateAdd aggregazione in Amazon DocumentDB consente di aggiungere una durata a un valore di data e ora.

Parametri

  • date: Un valore di data e ora a cui aggiungere una durata.

  • duration: La durata da aggiungere al date valore. Può essere specificato come oggetto con le chiavi peryears,months, weeksdays,hours,minutes, eseconds.

  • timezone: (opzionale) Il fuso orario da utilizzare quando si esegue l'aggiunta della data. Se non specificato, viene utilizzato il fuso orario predefinito del cluster Amazon DocumentDB.

Esempio (MongoDB Shell)

L'esempio seguente mostra come utilizzare l'$dateAddoperatore per aggiungere 2 giorni e 12 ore a una data.

Crea documenti di esempio

db.events.insertMany([ { _id: 1, eventDate: ISODate("2023-04-01T10:00:00Z") }, { _id: 2, eventDate: ISODate("2023-04-02T12:00:00Z") }, { _id: 3, eventDate: ISODate("2023-04-03T14:00:00Z") } ]);

Esempio di query

db.events.aggregate([ { $project: { _id: 1, eventDate: 1, eventDatePlustwodaysandtwelvehours: { $dateAdd: { startDate: { $dateAdd: { startDate: "$eventDate", unit: "day", amount: 2 } }, unit: "hour", amount: 12 } } } } ])

Output

[ { "_id": 1, "eventDate": "2023-04-01T10:00:00Z", "eventDatePlustwodaysandtwelvehours": ISODate("2023-04-03T22:00:00Z)" }, { "_id": 2, "eventDate": "2023-04-02T12:00:00Z", "eventDatePlustwodaysandtwelvehours": ISODate("2023-04-05T00:00:00Z)" }, { "_id": 3, "eventDate": "2023-04-03T14:00:00Z", "eventDatePlustwodaysandtwelvehours": ISODate("2023-04-06T02:00:00Z)" } ]

Esempi di codice

Per visualizzare un esempio di codice per l'utilizzo del $dateAdd comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

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 collection = db.collection('events'); const result = await collection.aggregate([ { $project: { _id: 1, eventDate: 1, eventDatePlustwodaysandtwelvehours: { $dateAdd: { startDate: { $dateAdd: { startDate: "$eventDate", unit: "day", amount: 2 } }, unit: "hour", amount: 12 } } } } ]).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'] collection = db['events'] result = list(collection.aggregate([ { '$project': { '_id': 1, 'eventDate': 1, 'eventDatePlustwodaysandtwelvehours': { '$dateAdd': { 'startDate': { '$dateAdd' : { 'startDate': '$eventDate', 'unit': 'day', 'amount': 2, } }, 'unit': 'hour', 'amount': 12, } } } } ])) print(result) client.close() example()