MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

3 Cara Mengonversi String ke Tanggal di MongoDB

Jika Anda memiliki koleksi MongoDB dengan tanggal yang disimpan sebagai string, Anda dapat mengonversinya menjadi tipe Date BSON jika diperlukan.

Di bawah ini adalah tiga cara untuk mengubah string menjadi Tanggal di MongoDB.

Contoh Data

Contoh dalam artikel ini menggunakan dokumen berikut dalam koleksi yang disebut dogs :

{ "_id" : 1, "name" : "Fetch", "born" : "2021-01-03T23:30:15.123" }

Kita dapat melihat bahwa born field berisi tanggal, tetapi tanggal tersebut disimpan sebagai string.

Kita dapat menggunakan operator pipeline agregasi berikut untuk mengonversi string tersebut menjadi tanggal.

$dateFromString Operator

$dateFromString operator pipeline agregasi dirancang khusus untuk mengonversi tanggal menjadi string.

Ini membutuhkan dateString argumen, yang merupakan string yang ingin Anda ubah menjadi tanggal.

Berikut ini contoh mengonversi string dalam koleksi di atas menjadi tanggal:

db.dogs.aggregate([ 
  {
    $project: {
        born: {
          $dateFromString: {
              dateString: '$born'
          }
        }
    }
  } 
])

Hasil:

{ "_id" : 1, "born" : ISODate("2021-01-03T23:30:15.123Z") }

Kita dapat melihat bahwa tanggal sekarang dibungkus dengan helper ISODate, yang berarti bahwa itu adalah objek Date.

$dateFromString operator menerima beberapa argumen lain, yang semuanya opsional. Lihat MongoDB $dateFromString untuk informasi dan contoh lebih lanjut.

$toDate Operator

$toDate operator pipa agregasi mengonversi nilai menjadi tanggal. Nilai dapat berupa jenis apa pun yang dapat dikonversi menjadi tanggal, yang pada dasarnya adalah angka, string, dan objectIds.

Artikel ini tentang mengonversi string menjadi tanggal, jadi inilah contoh penggunaan $toDate untuk melakukan hal itu:

db.dogs.aggregate([ 
  {
    $project: {
        "born": { 
          $toDate: "$born" 
        }
    }
  } 
])

Hasil:

{ "_id" : 1, "born" : ISODate("2021-01-03T23:30:15.123Z") }

Lihat Mongo $toDate untuk informasi dan contoh lebih lanjut.

The $convert Operator

$convert operator secara khusus dirancang untuk mengkonversi antara satu jenis dan jenis lainnya.

input parameter menentukan bidang yang ingin Anda konversi, dan to parameter menentukan jenis yang ingin Anda ubah.

Contoh:

db.cats.aggregate(
  [
    {
      $project:
        { 
          result: 
          {
            $convert: { 
              input: "$born", 
              to: "date",
              onError: "An error occurred",
              onNull: "Input was null or empty" 
            }
          }
        }
    }
  ]
)

Hasil:

{ "_id" : 1, "result" : ISODate("2021-01-03T23:30:15.123Z") }

Anda mungkin telah memperhatikan bahwa $convert operator juga menerima onError dan onNull parameter, yang memungkinkan kami memberikan pesan untuk digunakan jika terjadi kesalahan atau null nilai. Ini mencegah seluruh operasi agregasi terhenti, dan memungkinkan pesan kesalahan yang mudah digunakan dalam dokumen keluaran.

Lihat MongoDB $convert untuk informasi dan contoh lebih lanjut.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tetap buka koneksi database MongoDB

  2. C# - MongoDB - Perbarui elemen di dalam Dokumen Bersarang

  3. MongoDB $strcasecmp

  4. Tidak dapat membuat/membuka file kunci:/data/mongod.lock errno:13 Izin ditolak

  5. Bagaimana saya bisa menanyakan mongodb menggunakan mongoid/rails tanpa batas waktu?