Dalam koleksi, saya menyimpan dokumen semacam ini

{
   "_id" : 1,
   "created_at" : "2021-11-01",
    ...
}.
{
    "_id" : 2,
    "created_at" : "2021-12-01",
    ...
}

Saya ingin mengonversi create_at ke tanggal dan saya menggunakan metode ini

db.collection.aggregate([
    {$project:{ created_at:{$dateFromString:{dateString:'$created_at'}}}}
])

Tapi hasilnya selalu null Ada yang punya solusi untuk mengatasi masalah ini ?

0
contact 12 Mei 2021, 05:59

1 menjawab

Jawaban Terbaik

Secara default, operator $dateFromString akan menganggap bahwa string berada dalam %Y-%m-%dT%H:%M:%S.%LZ.

Jika tidak, yang merupakan kasus dalam skenario Anda, Anda harus memasukkan format secara manual di mana Anda ingin MongoDB mengurai string menggunakan opsi format.

db.collection.aggregate([
  {
    $project: {
      created_at: {
        $dateFromString: {
          dateString: "$created_at",
          "format": "%Y-%m-%d",
        }
      }
    }
  }
])
0
hhharsha36 12 Mei 2021, 04:20