Heim > Artikel > Backend-Entwicklung > Wie frage ich den MongoDB-Datumsbereich in Go mit mgo ab?
Abfragen des MongoDB-Datumsbereichs in Go mit mgo
Bei der Arbeit mit MongoDB ist das Abfragen von Dokumenten basierend auf Datumsbereichen ein häufiger Vorgang. In diesem Artikel wird beschrieben, wie solche Abfragen mit mgo, einem MongoDB-Treiber für Go, durchgeführt werden.
Problem:
Sie haben eine MongoDB-Sammlung mit dem Namen „my_sales“ mit Feldern für das Produkt Name, Preis und Verkaufsdatum. Sie müssen alle Verkaufsdatensätze innerhalb eines bestimmten Datumsbereichs mit Go und mgo abrufen.
Lösung:
mgo unterstützt die Abfrage von Daten mithilfe des Typs time.Time. Daher für das gegebene Beispiel mit der folgenden Dokumentstruktur:
<code class="go">type Sale struct { ProductName string `bson:"product_name"` Price int `bson:"price"` SaleDate time.Time `bson:"sale_date"` }</code>
Um Verkäufe innerhalb des angegebenen Datumsbereichs abzufragen, können Sie den folgenden Code verwenden:
<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>
Durch Angabe des bson .M-Karte mit den entsprechenden Datumsbereichskriterien können Sie alle Verkäufe abrufen, die zwischen den angegebenen Daten stattgefunden haben.
Das obige ist der detaillierte Inhalt vonWie frage ich den MongoDB-Datumsbereich in Go mit mgo ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!