Abfragen von MongoDB mit Datumsbereich mithilfe von Mgo und Go
Sie sind beim Abfragen einer MongoDB-Sammlung mit einem Datumsbereich mithilfe von auf eine Herausforderung gestoßen Mgo-Bibliothek in Go. Ihre Abfrage liefert nicht die erwarteten Ergebnisse, obwohl sie in der MongoDB-Shell ordnungsgemäß funktioniert.
Um dieses Problem zu beheben, ziehen Sie die folgende Lösung in Betracht:
Datums-/Uhrzeitwerte in Go verarbeiten
Mgo unterstützt time.Time für die Verarbeitung von BSON-Daten. Definieren Sie in Ihrer Go-Struktur das Feld „SaleDate“ wie folgt:
<code class="go">type Sale struct { ProductName string `bson:"product_name"` Price int `bson:"price"` SaleDate time.Time `bson:"sale_date"` }</code>
Konstruieren der Abfrage
Sobald Ihre Struktur definiert ist, können Sie die Abfrage mit bson erstellen. 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>
In dieser Abfrage verwenden wir die Operatoren $gt und $lt, um den Datumsbereich anzugeben. Die Variablen fromDate und toDate sind vom Typ time.Time.
Durch die Implementierung dieser Änderungen sollten Sie in der Lage sein, Ihre MongoDB-Sammlung mit Mgo und Go erfolgreich mit einem Datumsbereich abzufragen.
Das obige ist der detaillierte Inhalt vonWie frage ich eine MongoDB-Sammlung mit einem Datumsbereich mit Mgo und Go ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!