Puede especificar la forma en que el controlador Go convierte las estructuras Go a BSON mediante el uso de etiquetas de estructura.
Ejemplo
Tip
Lea el Ejemplos de uso para aprender a ejecutar este ejemplo.
El siguiente código declara una estructura de tipo BlogPostEsta estructura contiene una etiqueta que asigna el campo WordCount al nombre de campo BSON word_count. De forma predeterminada, el controlador serializa los demás campos con la minúscula del nombre de campo de la estructura:
type BlogPost struct { Title string Author string WordCount int `bson:"word_count"` LastUpdated time.Time Tags []string }
El siguiente ejemplo crea una instancia BlogPost y la inserta en la colección posts. Durante la operación de inserción, el controlador interpreta la etiqueta struct para serializar el campo struct WordCount como word_count:
Tip
Lea los ejemplos de uso para aprender cómo ejecutar este ejemplo.
coll := client.Database("sample_training").Collection("posts") post := BlogPost{ Title: "Annuals vs. Perennials?", Author: "Sam Lee", WordCount: 682, LastUpdated: time.Now(), Tags: []string{"seasons", "gardening", "flower"}, } // Inserts a document describing a blog post into the collection _, err = coll.InsertOne(context.TODO(), post) if err != nil { panic(err) }
Resultado esperado
Después de ejecutar el ejemplo completo, podrá encontrar el siguiente documento en la colección posts:
{ "_id" : ObjectId("..."), "title" : "Annuals vs. Perennials?", "author" : "Sam Lee", "word_count" : 682, "lastupdated": ..., "tags" : ["seasons", "gardening", "flower"] }
Para ver un ejemplo sobre cómo encontrar un documento, consulte Buscar un documento.
Información Adicional
Para obtener más información sobre el uso de etiquetas de estructura, la conversión a/desde BSON y el manejo de posibles errores,consulte trabajar con BSON.