Junior — Middle
Tem experiência com o tipo de dado jsonb em bancos de dados?
sobes.tech IA
Resposta da IA
Sim, o tipo de dado jsonb na base de dados PostgreSQL é uma representação binária de JSON que permite armazenar e indexar dados JSON de forma eficiente.
Em Go, para trabalhar com jsonb, geralmente usa-se o pacote database/sql junto com o driver para PostgreSQL (por exemplo, lib/pq ou pgx). Para passar e receber dados no campo jsonb, utilizam-se tipos como []byte ou string, bem como estruturas que são serializadas/deserializadas usando o pacote encoding/json.
Exemplo de como gravar uma estrutura em um 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
}
Assim, a experiência com jsonb inclui a serialização de estruturas em JSON, armazenamento no campo jsonb e posterior consulta e desserialização.