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

3 Cara Mendapatkan Minggu dari Kencan di MongoDB

MongoDB menyediakan berbagai opsi untuk mengekstrak bagian tanggal dari tanggal.

Artikel ini menyajikan 3 cara untuk mengembalikan bagian minggu dari tanggal di MongoDB.

Contoh Data

Misalkan kita memiliki koleksi yang disebut cats dengan dokumen sebagai berikut:

{ "_id" : 1, "name" : "Scratch", "born" : ISODate("2021-01-03T23:30:15.123Z") }
{ "_id" : 2, "name" : "Meow", "born" : ISODate("2019-12-08T04:00:12Z") }
{ "_id" : 3, "name" : "Fluffy", "born" : ISODate("2020-09-24T10:30:00Z") }

Contoh berikut menunjukkan berbagai opsi untuk mengembalikan bagian minggu dari born bidang dokumen tersebut.

$week Operator

$week operator mengembalikan minggu dalam setahun untuk tanggal sebagai angka antara 0 dan 53.

Oleh karena itu, kita dapat menjalankan kode berikut untuk mengembalikan minggu dari born bidang dalam dokumen di atas.

db.cats.aggregate(
  [
    {
      $project:
        {
          _id: 0,
          birthWeek: { $week: "$born" }
        }
    }
  ]
)

Hasil:

{ "birthWeek" : 1 }
{ "birthWeek" : 49 }
{ "birthWeek" : 38 }

Anda juga dapat menentukan zona waktu saat menggunakan $week operator.

Lihat MongoDB $week untuk informasi dan contoh lebih lanjut.

$dateToString Operator

$dateToString operator mengonversi objek tanggal menjadi string menurut format yang ditentukan pengguna. Oleh karena itu, pengguna dapat menentukan bahwa hanya bagian minggu yang dikembalikan jika diperlukan.

Ada penentu format untuk setiap bagian tanggal. Sehubungan dengan bagian minggu dari tanggal, %U penentu format mengembalikan minggu dalam setahun, dan %V penentu format mengembalikan minggu dalam setahun dalam format ISO 8601.

Contoh:

db.cats.aggregate(
   [
     {
       $project: {
         _id: 0,
          birthWeek: { $dateToString: { format: "%U", date: "$born" } },
          birthWeekISO: { $dateToString: { format: "%V", date: "$born" } }
       }
     }
   ]
)

Hasil:

{ "birthWeek" : "01", "birthWeekISO" : "53" }
{ "birthWeek" : "49", "birthWeekISO" : "49" }
{ "birthWeek" : "38", "birthWeekISO" : "39" }

Lihat MongoDB $dateToString untuk informasi dan contoh lebih lanjut.

Lihat juga MongoDB $dateToString Penentu Format untuk daftar penentu format yang dapat digunakan dengan operator ini.

$isoWeek Operator

Jika Anda perlu mengembalikan minggu dalam format ISO 8601, gunakan $isoWeek . Tahun ISO 8601 dimulai dengan Senin minggu 1 dan berakhir dengan Minggu minggu terakhir.

Contoh:

db.cats.aggregate(
  [
    {
      $project:
        {
          _id: 0,
          birthIsoWeek: { $isoWeek: "$born" }
        }
    }
  ]
)

Hasil:

{ "birthIsoWeek" : 53 }
{ "birthIsoWeek" : 49 }
{ "birthIsoWeek" : 39 }

Hasil ini berbeda dengan saat kami menggunakan $week operator.

Berikut adalah contoh yang menunjukkan perbedaannya.

db.cats.aggregate(
  [
    {
      $project:
        {
          _id: 0,
          birthWeek: { $week: "$born" },
          birthIsoWeek: { $isoWeek: "$born" }
        }
    }
  ]
)

Hasil:

{ "birthWeek" : 1, "birthIsoWeek" : 53 }
{ "birthWeek" : 49, "birthIsoWeek" : 49 }
{ "birthWeek" : 38, "birthIsoWeek" : 39 }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Konversikan tanggal dari milidetik ke objek ISODate

  2. ABC NestJS:Panduan Pemula dengan MongoDB(Mongoose).

  3. MongoDB Mengakuisisi mLab  – Apakah Alternatif Hosting MongoDB yang Berbeda?

  4. Cara terbaik untuk melakukan pencarian teks lengkap di MongoDB dan Mongoose

  5. Meteor:Kode keluar mongo tak terduga 100. Mulai ulang. Tidak dapat memulai server mongo