Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Bases de datos y colecciones

En esta guía, puedes aprender a interactuar con las bases de datos y colecciones de MongoDB usando el controlador Go.

MongoDB organiza los datos en una jerarquía de los siguientes niveles:

  • Bases de datos: Estructuras de datos de nivel superior en una implementación de MongoDB que almacenan colecciones.

  • Colecciones: Grupos de documentos de MongoDB. Son análogos a las tablas en bases de datos relacionales.

  • Documentos: unidades que almacenan datos literales como cadenas de caracteres, números, fechas y otros documentos incrustados. Para obtener más información sobre los tipos y la estructura de los campos de documentos, consulte la entrada Documentos en el manual de MongoDB Server.

Puedes acceder a una base de datos utilizando el método Database() en una instancia de Client.

El siguiente ejemplo accede a una base de datos llamada test_database:

database := client.Database("test_database")

Puedes acceder a una colección usando el método Collection() en una instancia de Database.

El siguiente ejemplo accede a una colección llamada test_collection:

collection := database.Collection("test_collection")

Tip

Si el nombre de la colección proporcionado aún no existe en la base de datos, MongoDB crea implícitamente la colección cuando se insertan datos en ella por primera vez.

Para crear explícitamente una colección, puede utilizar el método CreateCollection() en una instancia Database.

El siguiente ejemplo crea una colección llamada example_collection:

err = database.CreateCollection(context.TODO(), "example_collection")
if err != nil {
log.Fatalf("Failed to create collection: %v", err)
}

Puede especificar las opciones de colección, como el tamaño máximo y las reglas de validación de documentos, pasando una estructura options.CreateCollectionOptions al método CreateCollection() de una instancia Database. Para obtener una lista completa de parámetros opcionales, consulta la entrada del comando create en el manual de MongoDB Server.

Puedes query una lista de colecciones en una base de datos usando el método ListCollections() en una instancia de Database.

El siguiente ejemplo obtiene una lista de todas las colecciones en una base de datos y luego imprime los nombres de las colecciones en la consola:

cursor, err := database.ListCollections(context.TODO(), bson.D{})
if err != nil {
log.Fatalf("Failed to list collections: %v", err)
}
defer cursor.Close(context.TODO())
for cursor.Next(context.TODO()) {
var collectionInfo bson.M
if err := cursor.Decode(&collectionInfo); err != nil {
log.Fatalf("Failed to decode collection info: %v", err)
}
if name, ok := collectionInfo["name"].(string); ok {
fmt.Println(name)
} else {
log.Println("Collection name not found or not a string")
}
}
if err := cursor.Err(); err != nil {
log.Fatalf("Cursor error: %v", err)
}

Puede borrar una colección utilizando el método Drop() en una instancia de Database.

El siguiente ejemplo borra una colección llamada test_collection:

err = database.Collection("test_collection").Drop(context.TODO())
if err != nil {
log.Fatalf("Failed to drop collection: %v", err)
}

Advertencia

Eliminar una colección borra todos los datos de la colección

Borrar una colección de la base de datos borra permanentemente todos los documentos y todos los índices dentro de esa colección.

Descarta una colección solo si ya no necesitas los datos en esa colección.

Puede borrar una base de datos usando el método Drop() en una instancia Database.

El siguiente ejemplo elimina una base de datos llamada test_database:

err = client.Database("test_database").Drop(context.TODO())
if err != nil {
log.Fatalf("Failed to drop database: %v", err)
}

Advertencia

Borrar una base de datos borra todos los datos de la base de datos.

Borrar una base de datos borra permanentemente todas las colecciones, documentos e índices dentro de esa base de datos.

Descarta una base de datos solo si ya no necesitas los datos de esa base de datos.

Para aprender más sobre cualquiera de los tipos o métodos discutidos en esta guía, consulta la siguiente documentación de la API: