BSON е просто двоичен JSON. MongoDB заявките са BSON документ, конструиран с помощта на подобни конструкции, като се използва bson.M
(което е map[string]interface{}) за обекти и части от стойности за масиви. Има и bson.D
тип, който може да се използва за конструиране на обекти, които запазват реда на своите полета.
API документацията за пакета bson обяснява повечето от нещата, които трябва да знаете. Най-важното е, че типовете Go са картографирани към техните bson еквиваленти по начина, по който ги очаквате. Bson датите се преобразуват във time.Time.
Използвайки вашия пример:
query:=bson.M{"eventDateTime":bson.M{"$gte": fromDate, "$lt":toDate}}
където fromDate
и toDate
са time.Time
стойности.
Като друг пример, $in заявка може да бъде написана като:
query:=bson.M{"field":bson.M{"$in":[]string{"value1","value2"}}}