Menu Docs
Página inicial do Docs
/ / /
Driver GO
/

Usar tags estruturadas

Você pode especificar a maneira como o Go Driver converte as estruturas Go em BSON usando tags estrutura.

Dica

Leia os Exemplos de uso para saber como executar este exemplo.

O código a seguir declara uma estrutura do tipo BlogPost. Esta estrutura contém uma marcação estruturada que mapeia o campo WordCount para o nome de campo BSON word_count. Por padrão, o driver transfere os outros campos como a letra minúscula do nome do campo da estrutura:

type BlogPost struct {
Title string
Author string
WordCount int `bson:"word_count"`
LastUpdated time.Time
Tags []string
}

O exemplo a seguir cria uma instância BlogPost e a insere na coleção posts. Durante a operação de inserção, o driver interpreta a marcação estrutura para organizar o campo estrutura WordCount como word_count:

Dica

Leia os Exemplos de uso para saber como executar esse exemplo.

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)
}

Veja um exemplo totalmente executável .

Após executar o exemplo completo, você pode encontrar o seguinte documento na collection posts:

{
"_id" : ObjectId("..."),
"title" : "Annuals vs. Perennials?",
"author" : "Sam Lee",
"word_count" : 682,
"lastupdated": ...,
"tags" : ["seasons", "gardening", "flower"]
}

Para obter um exemplo sobre como localizar um documento, consulte Localizar um documento.

Para saber mais sobre o uso de marcações de estrutura, conversão de/para BSON e tratamento de possíveis erros, consulte Trabalhar com BSON.

Voltar

Execute um comando