Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Menyoal Julat Tarikh MongoDB dalam Go dengan mgo?
Menyoal Julat Tarikh MongoDB dalam Go dengan mgo
Apabila bekerja dengan MongoDB, menanya dokumen berdasarkan julat tarikh ialah operasi biasa. Artikel ini membincangkan cara melakukan pertanyaan sedemikian menggunakan mgo, pemacu MongoDB untuk Go.
Masalah:
Anda mempunyai koleksi MongoDB bernama "my_sales" dengan medan untuk produk nama, harga dan tarikh jualan. Anda perlu mendapatkan semula semua rekod jualan dalam julat tarikh tertentu menggunakan Go dan mgo.
Penyelesaian:
mgo menyokong tarikh pertanyaan menggunakan masa.Jenis masa. Oleh itu, untuk contoh yang diberikan dengan struktur dokumen berikut:
<code class="go">type Sale struct { ProductName string `bson:"product_name"` Price int `bson:"price"` SaleDate time.Time `bson:"sale_date"` }</code>
Untuk menanyakan jualan dalam julat tarikh yang ditentukan, anda boleh menggunakan kod berikut:
<code class="go">package main import ( "context" "fmt" "log" "time" "gopkg.in/mgo.v2" "gopkg.in/mgo.v2/bson" ) func main() { // Connect to MongoDB session, err := mgo.Dial("localhost:27017") if err != nil { log.Fatal(err) } defer session.Close() // Get a collection c := session.DB("my_db").C("my_sales") // Define the date range 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) // Query the collection results := []Sale{} err = c.Find( bson.M{ "sale_date": bson.M{ "$gt": fromDate, "$lt": toDate, }, }).All(&results) if err != nil { log.Fatal(err) } // Print the results for _, sale := range results { fmt.Println(sale) } }</code>
Dengan menyediakan bson Peta .M dengan kriteria julat tarikh yang sesuai, anda boleh mendapatkan semula semua jualan yang berlaku antara tarikh yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Menyoal Julat Tarikh MongoDB dalam Go dengan mgo?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!