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