BSON to po prostu binarny JSON. Zapytania MongoDB są dokumentami BSON skonstruowanymi przy użyciu podobnych konstrukcji, przy użyciu bson.M
(który jest map[łańcuch]interfejsem{}) dla obiektów i wycinków wartości dla tablic. Istnieje również bson.D
typ, który może być użyty do konstruowania obiektów, które zachowują kolejność jego pól.
Dokumentacja API dla pakietu bson wyjaśnia większość rzeczy, które powinieneś wiedzieć. Najważniejszą rzeczą jest to, że typy Go są mapowane na ich odpowiedniki bson w sposób, w jaki się ich spodziewasz. Daty Bson są odwzorowywane na czas. Czas.
Na twoim przykładzie:
query:=bson.M{"eventDateTime":bson.M{"$gte": fromDate, "$lt":toDate}}
gdzie fromDate
i toDate
to time.Time
wartości.
Jako inny przykład, zapytanie $in można zapisać jako:
query:=bson.M{"field":bson.M{"$in":[]string{"value1","value2"}}}