$dateFromString - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

$dateFromString

Operator $dateFromString agregasi di Amazon DocumentDB memungkinkan Anda mengonversi string tanggal-waktu menjadi objek tanggal. Ini berguna ketika data Anda disimpan sebagai string tetapi Anda perlu melakukan operasi berbasis tanggal pada data.

Parameter

  • dateString: String yang mewakili tanggal dan waktu.

  • format: (opsional) Sebuah string yang menentukan format. dateString Jika tidak disediakan, Amazon DocumentDB akan mencoba mengurai string dalam format ISO-8601.

  • timezone: (opsional) Sebuah string yang menentukan zona waktu. Jika tidak disediakan, Amazon DocumentDB akan menggunakan zona waktu server.

  • onError: (opsional) Menentukan tindakan yang akan diambil jika konversi gagal. Nilai yang mungkin adalah 'error' (default, yang melempar kesalahan), 'null' (mengembalikannull), atau 'replace' (menggantikan nilai dengan string pengganti yang ditentukan dalam onErrorMessage opsi).

  • onErrorMessage: (opsional) Jika onError diatur ke'replace', opsi ini menentukan string pengganti.

Contoh (MongoDB Shell)

Contoh berikut menunjukkan bagaimana menggunakan untuk mengkonversi string tanggal $dateFromString ke objek tanggal di Amazon DocumentDB.

Buat dokumen sampel

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"} ]);

Contoh kueri

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

Keluaran

[ { "_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") } ]

Contoh kode

Untuk melihat contoh kode untuk menggunakan $dateFromString perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

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