Avez-vous de l'expérience avec le type de données jsonb dans une base de données?
sobes.tech IA
Réponse de l'IA
Oui, le type de données jsonb dans la base de données PostgreSQL est une représentation binaire du JSON qui permet de stocker et d'indexer efficacement les données JSON.
En Go, pour travailler avec jsonb, on utilise généralement le package database/sql avec le pilote pour PostgreSQL (par exemple, lib/pq ou pgx). Pour transmettre et recevoir des données dans le champ jsonb, on utilise des types comme []byte ou string, ainsi que des structures sérialisées/désérialisées avec le package encoding/json.
Exemple d'enregistrement d'une structure dans un champ 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
}
Ainsi, l'expérience avec jsonb inclut la sérialisation de structures en JSON, leur stockage dans un champ jsonb et la requête et la désérialisation ultérieures.