Junior — Middle
Máte skúsenosti s typom údajov jsonb v databáze?
sobes.tech AI
Odpoveď od AI
Áno, dátový typ jsonb v databáze PostgreSQL je binárna reprezentácia JSON, ktorá umožňuje efektívne ukladanie a indexovanie JSON dát.
V Go sa na prácu s jsonb zvyčajne používa balík database/sql spolu s ovládačom pre PostgreSQL (napríklad lib/pq alebo pgx). Na prenos a príjem dát v poli jsonb sa používajú typy ako []byte alebo string, ako aj štruktúry, ktoré sa serializujú/deserializujú pomocou balíka encoding/json.
Príklad zápisu štruktúry do poľa 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
}
Takto práca s jsonb zahŕňa serializáciu štruktúr do JSON, ich uloženie do poľa jsonb a následné dotazy a deserializáciu.