Типы данных BSON. Golang

ТипОписаниеТип Golang
bson.DУпорядоченное представление документа BSONSlice
bson.MНеупорядоченное представление документа BSONMap
bson.AУпорядоченное представление списка BSONArray
bson.EЭлемент bson.DStruct

  • Я несколько раз спотыкался о то, что когда пишешь код для типа D то синтаксис inline объявления структуры примерно такой:
bson.D{{Key: "login", Value: login}}

то есть поля объявляются через двоеточие. Но когда речь заходит о структуре типа M то меняется и синтаксис:

bson.M{
  "$or": bson.A{
    bson.M{
	  "year": bson.M{"$gte": 2020},
    },
    bson.M{
      "author": "Касун Индрасири",
    },
  },
}

отличие в двоеточии!