BSON ist einfach binäres JSON. MongoDB-Abfragen sind BSON-Dokumente, die mit ähnlichen Konstrukten unter Verwendung von bson.M
erstellt wurden (das ist eine map[string]interface{}) für Objekte und Wertesegmente für Arrays. Es gibt auch ein bson.D
Typ, der zum Erstellen von Objekten verwendet werden kann, die die Reihenfolge ihrer Felder beibehalten.
Die API-Dokumentation für das bson-Paket erklärt die meisten Dinge, die Sie wissen sollten. Das Wichtigste ist, dass Go-Typen ihren bson-Äquivalenten so zugeordnet werden, wie Sie es erwarten. Bson-Daten werden time.Time.
zugeordnetAnhand Ihres Beispiels:
query:=bson.M{"eventDateTime":bson.M{"$gte": fromDate, "$lt":toDate}}
wobei fromDate
und toDate
sind time.Time
Werte.
Als weiteres Beispiel kann eine $in-Abfrage wie folgt geschrieben werden:
query:=bson.M{"field":bson.M{"$in":[]string{"value1","value2"}}}