BSON är helt enkelt binär JSON. MongoDB-frågor är BSON-dokument konstruerade med liknande konstruktioner, genom att använda bson.M
(som är ett map[sträng]gränssnitt{}) för objekt och värdesegment för arrayer. Det finns också en bson.D
typ som kan användas för att konstruera objekt som bevarar ordningen på dess fält.
API-dokumentation för bson-paketet förklarar det mesta du bör veta. Det viktigaste är att Go-typer mappas till sina bson-motsvarigheter på det sätt du förväntar dig. Bson-datum kartläggs till tid.Tid.
Med ditt exempel:
query:=bson.M{"eventDateTime":bson.M{"$gte": fromDate, "$lt":toDate}}
där fromDate
och toDate
är time.Time
värden.
Som ett annat exempel kan en $in-fråga skrivas som:
query:=bson.M{"field":bson.M{"$in":[]string{"value1","value2"}}}