Capítulo 6: Inserção de Documentos no MongoDB usando Golang
Inserir um Documento
resultado, err := colecao.InsertOne(
context.Background(), // Parâmetro de contexto
bson.D{ // Definir um documento JSON usando bson.D
{"item", "tela"},
{"qty", 100},
{"tags", bson.A{"algodão"}},
{"size", bson.D{
{"h", 28},
{"w", 35.5},
{"uom", "cm"},
}},
})
// Obter o ID único gerado para o documento
id := resultado.InsertedID
Dica: Se você não estiver familiarizado com a representação de dados Golang MongoDB, consulte a seção "Modelo de Dados Golang MongoDB" aqui.
Equivalente à inserção do seguinte documento JSON:
{
"item": "tela",
"qty": 100,
"tags": ["algodão"],
"size": {
"h": 28,
"w": 35.5,
"uom": "cm"
}
}
Consultar o Novo Documento Inserido
cursor, err := colecao.Find(
context.Background(),
bson.D{{"item", "tela"}}, // Expressão equivalente: {"item": "tela"}
)
Inserção em Massa
resultado, err := colecao.InsertMany(
context.Background(),
[]interface{}{ // Passar em uma matriz de documentos, inserir dados de três documentos
bson.D{ // Dados do documento 1
{"item", "diário"},
{"qty", int32(25)},
{"tags", bson.A{"em branco", "vermelho"}},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
},
bson.D{ // Dados do documento 2
{"item", "tapete"},
{"qty", int32(25)},
{"tags", bson.A{"cinza"}},
{"size", bson.D{
{"h", 27.9},
{"w", 35.5},
{"uom", "cm"},
}},
},
bson.D{ // Dados do documento 3
{"item", "mousepad"},
{"qty", 25},
{"tags", bson.A{"gel", "azul"}},
{"size", bson.D{
{"h", 19},
{"w", 22.85},
{"uom", "cm"},
}},
},
})
Consultar Todos os Documentos
cursor, err := colecao.Find(
context.Background(),
bson.D{}, // Passar em uma condição de consulta vazia
)