BSON è semplicemente JSON binario. Le query MongoDB sono documenti BSON costruiti utilizzando costrutti simili, utilizzando bson.M
(che è un'interfaccia map[string]{}) per oggetti e porzioni di valori per array. C'è anche un bson.D
tipo che può essere utilizzato per costruire oggetti che conservano l'ordine dei suoi campi.
La documentazione API per il pacchetto bson spiega la maggior parte delle cose che dovresti sapere. La cosa più importante è che i tipi Go siano mappati sui loro equivalenti bson nel modo in cui li aspetti. Le date di Bson vengono mappate sull'ora. L'ora.
Usando il tuo esempio:
query:=bson.M{"eventDateTime":bson.M{"$gte": fromDate, "$lt":toDate}}
dove fromDate
e toDate
sono time.Time
valori.
Come altro esempio, una query $in può essere scritta come:
query:=bson.M{"field":bson.M{"$in":[]string{"value1","value2"}}}