Sobes.tech
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.