Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyoal Koleksi MongoDB dengan Julat Tarikh Menggunakan Mgo and Go?

Bagaimana untuk Menyoal Koleksi MongoDB dengan Julat Tarikh Menggunakan Mgo and Go?

Patricia Arquette
Patricia Arquetteasal
2024-11-08 01:57:02950semak imbas

How to Query a MongoDB Collection with a Date Range Using Mgo and Go?

Menyoal MongoDB dengan Julat Tarikh Menggunakan Mgo dan Go

Anda telah menghadapi cabaran semasa menanyakan koleksi MongoDB dengan julat tarikh menggunakan Perpustakaan Mgo dalam Go. Pertanyaan anda tidak mengembalikan hasil yang dijangkakan, walaupun berfungsi dengan betul dalam cangkerang MongoDB.

Untuk menyelesaikan isu ini, pertimbangkan penyelesaian berikut:

Mengendalikan Nilai Tarikh/Masa dalam Go

Mgo menyokong masa.Masa untuk mengendalikan tarikh BSON. Dalam struct Go anda, tentukan medan SaleDate seperti berikut:

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

Membina Pertanyaan

Setelah struct anda ditakrifkan, anda boleh membina pertanyaan menggunakan bson. M:

<code class="go">fromDate := time.Date(2014, time.November, 4, 0, 0, 0, 0, time.UTC)
toDate := time.Date(2014, time.November, 5, 0, 0, 0, 0, time.UTC)

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

Dalam pertanyaan ini, kami menggunakan operator $gt dan $lt untuk menentukan julat tarikh. Pembolehubah fromDate dan toDate adalah jenis masa.Masa.

Dengan melaksanakan perubahan ini, anda seharusnya berjaya menanyakan koleksi MongoDB anda dengan julat tarikh menggunakan Mgo dan Go.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal Koleksi MongoDB dengan Julat Tarikh Menggunakan Mgo and 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