Junior — Middle
Verilənlər bazasında jsonb məlumat tipi ilə işləmə təcrübəniz varmı?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, PostgreSQL verilənlər bazasında jsonb məlumat tipi JSON-in ikili təqdimatıdır və JSON məlumatlarını səmərəli saxlamağa və indeksləməyə imkan verir.
Go-da jsonb ilə işləmək üçün adətən database/sql paketi və PostgreSQL üçün sürücü (məsələn, lib/pq və ya pgx) istifadə olunur. jsonb sahəsində məlumatların ötürülməsi və alınması üçün []byte və ya string kimi tiplər və encoding/json paketi vasitəsilə serializə/serializadan keçmiş strukturlar istifadə edilir.
Strukturu jsonb sahəsinə yazma nümunəsi:
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
}
Bu şəkildə, jsonb ilə işləmə strukturların JSON-ə serializasiyası, jsonb sahəsinə yazılması və sonrakı sorğular və deserializasiya daxildir.