$dateFromString - 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á.

$dateFromString

O operador $dateFromString de agregação no Amazon DocumentDB permite que você converta uma string de data e hora em um objeto de data. Isso é útil quando seus dados são armazenados como cadeias de caracteres, mas você precisa realizar operações com base em datas nos dados.

Parâmetros

  • dateString: uma sequência de caracteres que representa uma data e hora.

  • format: (opcional) Uma string que especifica o formato dodateString. Se não for fornecido, o Amazon DocumentDB tentará analisar a string no formato ISO-8601.

  • timezone: (opcional) Uma string que especifica o fuso horário. Se não for fornecido, o Amazon DocumentDB usará o fuso horário do servidor.

  • onError: (opcional) Especifica a ação a ser tomada se a conversão falhar. Os valores possíveis são 'error' (o padrão, que gera um erro), 'null' (retornanull) ou 'replace' (substitui o valor pela string de substituição especificada na onErrorMessage opção).

  • onErrorMessage: (opcional) Se onError estiver definida como'replace', essa opção especifica a sequência de caracteres de substituição.

Exemplo (MongoDB Shell)

O exemplo a seguir demonstra como usar $dateFromString para converter uma string de data em um objeto de data no Amazon DocumentDB.

Crie documentos de amostra

db.missionLog.insertMany([ { _id: 1, event: "missionStart", logDate: "2020-03-15T13:41:33"}, { _id: 2, event: "jumpPoint1", logDate: "2020-03-15T13:45:34"}, { _id: 3, event: "jumpPoint2", logDate: "2020-03-15T13:48:21"}, { _id: 4, event: "jumpPoint3", logDate: "2020-03-15T13:52:09"}, { _id: 5, event: "missionEnd", logDate: "2020-03-15T13:58:44"} ]);

Exemplo de consulta

db.missionLog.aggregate([ { $project: { event: '$event', logDate: { $dateFromString: { dateString: '$logDate' } } } } ]);

Saída

[ { "_id": 1, "event": "missionStart", "logDate": ISODate("2020-03-15T13:41:33Z") }, { "_id": 2, "event": "jumpPoint1", "logDate": ISODate("2020-03-15T13:45:34Z") }, { "_id": 3, "event": "jumpPoint2", "logDate": ISODate("2020-03-15T13:48:21Z") }, { "_id": 4, "event": "jumpPoint3", "logDate": ISODate("2020-03-15T13:52:09Z") }, { "_id": 5, "event": "missionEnd", "logDate": ISODate("2020-03-15T13:58:44Z") } ]

Exemplos de código

Para ver um exemplo de código para usar o $dateFromString 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 collection = db.collection('missionLog'); const result = await collection.aggregate([ { $project: { event: '$event', logDate: { $dateFromString: { dateString: '$logDate' } } } } ]).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient 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['missionLog'] result = list(collection.aggregate([ { '$project': { 'event': '$event', 'logDate': { '$dateFromString': { 'dateString': '$logDate' } } } } ])) print(result) client.close() example()