Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah anda Menyoal MongoDB dengan Julat Tarikh menggunakan mgo dan Go?

Bagaimanakah anda Menyoal MongoDB dengan Julat Tarikh menggunakan mgo dan Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-05 16:35:02482semak imbas

How do you Query MongoDB with Date Range using mgo and Go?

Menyiasat MongoDB dengan Julat Tarikh Menggunakan mgo dan Go

Keupayaan pertanyaan kuat MongoDB membenarkan penapisan data yang tepat berdasarkan kriteria tertentu, termasuk tarikh julat. Menggunakan mgo, pustaka Go yang popular untuk MongoDB, membuat pertanyaan dalam julat tarikh adalah mudah.

Pertimbangkan dokumen MongoDB berikut:

{
    "_id" : ObjectId("5458b6ee09d76eb7326df3a4"),
    "product_name" : "product1",
    "price" : 200,
    "sale_date" : ISODate("2014-11-04T11:22:19.589Z")
}

Untuk menanyakan dokumen ini untuk dokumen yang dijual dalam julat tarikh tertentu , langkah berikut boleh diambil:

  1. Cipta Usaha Struktur untuk Data Jualan:

    <code class="go">type Sale struct {
        ProductName string    `bson:"product_name"`
        Price       int       `bson:"price"`
        SaleDate    time.Time `bson:"sale_date"`
    }</code>
  2. Menghuraikan Julat Tarikh daripada Rentetan:

    <code class="go">fromDate, err := time.Parse(timeLayout, dateFrom)
    if err != nil {
        return err
    }
    toDate, err := time.Parse(timeLayout, dateTo)
    if err != nil {
        return err
    }</code>
  3. Pertanyaan dengan Tarikh Julat:

    <code class="go">var sales []Sale
    err = c.Find(
        bson.M{
            "sale_date": bson.M{
                "$gt": fromDate,
                "$lt": toDate,
            },
        },
    ).All(&amp;sales)</code>

Dengan menggunakan operator $gt dan $lt MongoDB, pertanyaan memilih dokumen yang medan sale_date melebihi fromDate dan kurang daripada toDate, menapis jualan dengan berkesan dalam julat tarikh yang ditentukan.

Atas ialah kandungan terperinci Bagaimanakah anda Menyoal MongoDB dengan Julat Tarikh menggunakan mgo dan Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn