Capítulo 6: Inserción de Documentos en Golang MongoDB
Insertar un Documento
resultado, err := coleccion.InsertOne(
context.Background(), // Parámetro de contexto
bson.D{ // Definir un documento JSON usando bson.D
{"item", "lienzo"},
{"qty", 100},
{"tags", bson.A{"algodón"}},
{"size", bson.D{
{"h", 28},
{"w", 35.5},
{"uom", "cm"},
}},
})
// Obtener el ID único generado para el documento
id := resultado.InsertedID
Consejo: Si no estás familiarizado con la representación de datos de Golang MongoDB, consulta la sección "Modelo de Datos de Golang MongoDB" aquí.
Equivalente a insertar el siguiente documento JSON:
{
"item": "lienzo",
"qty": 100,
"tags": ["algodón"],
"size": {
"h": 28,
"w": 35.5,
"uom": "cm"
}
}
Consultar el Documento Recién Insertado
cursor, err := coleccion.Find(
context.Background(),
bson.D{{"item", "lienzo"}}, // Expresión equivalente: {"item": "lienzo"}
)
Inserción Masiva
resultado, err := coleccion.InsertMany(
context.Background(),
[]interface{}{ // Pasar un array de documentos, insertar datos de tres documentos
bson.D{ // Datos del documento 1
{"item", "diario"},
{"qty", int32(25)},
{"tags", bson.A{"blanco", "rojo"}},
{"size", bson.D{
{"h", 14},
{"w", 21},
{"uom", "cm"},
}},
},
bson.D{ // Datos del documento 2
{"item", "tapete"},
{"qty", int32(25)},
{"tags", bson.A{"gris"}},
{"size", bson.D{
{"h", 27.9},
{"w", 35.5},
{"uom", "cm"},
}},
},
bson.D{ // Datos del documento 3
{"item", "mousepad"},
{"qty", 25},
{"tags", bson.A{"gel", "azul"}},
{"size", bson.D{
{"h", 19},
{"w", 22.85},
{"uom", "cm"},
}},
},
})
Consultar Todos los Documentos
cursor, err := coleccion.Find(
context.Background(),
bson.D{}, // Pasar una condición de consulta vacía
)