Junior — Middle
¿Tiene experiencia trabajando con el tipo de datos jsonb en bases de datos?
sobes.tech AI
Respuesta de la IA
Sí, el tipo de datos jsonb en la base de datos PostgreSQL es una representación binaria de JSON que permite almacenar e indexar datos JSON de manera eficiente.
En Go, para trabajar con jsonb, generalmente se utiliza el paquete database/sql junto con el controlador para PostgreSQL (por ejemplo, lib/pq o pgx). Para pasar y recibir datos en el campo jsonb, se emplean tipos como []byte o string, así como estructuras que se serializan/deserializan mediante el paquete encoding/json.
Ejemplo de cómo guardar una estructura en un campo jsonb:
import (
"database/sql"
"encoding/json"
_ "github.com/lib/pq"
)
type Data struct {
Name string `json:"name"`
Age int `json:"age"`
}
func insertJSONB(db *sql.DB, d Data) error {
jsonData, err := json.Marshal(d)
if err != nil {
return err
}
_, err = db.Exec("INSERT INTO table_name (jsonb_column) VALUES ($1)", jsonData)
return err
}
De esta manera, la experiencia con jsonb incluye la serialización de estructuras a JSON, su almacenamiento en un campo jsonb y la posterior consulta y deserialización.