Sobes.tech
Junior — Middle

Veritabanında jsonb veri tipi ile çalışma deneyiminiz var mı?

sobes.tech yapay zeka

AI'dan gelen yanıt

Evet, PostgreSQL veritabanındaki jsonb veri tipi, JSON'in ikili temsili olup, JSON verilerini verimli bir şekilde depolamaya ve indekslemeye olanak tanır.

Go'da jsonb ile çalışmak için genellikle database/sql paketi ve PostgreSQL sürücüsü (örneğin, lib/pq veya pgx) kullanılır. jsonb alanında veri iletmek ve almak için []byte veya string gibi türler ve encoding/json paketi kullanılarak serileştirilen/seri hale getirilen yapılar kullanılır.

Bir yapıyı jsonb alanına kaydetme örneği:

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 şekilde, jsonb ile çalışma, yapıları JSON'a serileştirmeyi, jsonb alanına kaydetmeyi ve ardından sorgulama ve deserializasyonu içerir.