Sobes.tech
Junior — Middle

Vai jums ir pieredze darbā ar jsonb datu tipu datu bāzē?

sobes.tech AI

Atbilde no AI

Jā, jsonb datu tips PostgreSQL datu bāzē ir bināra JSON pārstāvība, kas ļauj efektīvi glabāt un indeksēt JSON datus.

Go valodā, strādājot ar jsonb, parasti izmanto database/sql paketi kopā ar PostgreSQL draiveri (piemēram, lib/pq vai pgx). Datu nodošanai un saņemšanai no jsonb lauka izmanto tipus kā []byte vai string, kā arī struktūras, kas tiek serializētas/deserializētas ar encoding/json paketi.

Piemērs, kā ierakstīt struktūru jsonb laukā:

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
}

Šādā veidā, darbs ar jsonb ietver struktūru serializāciju uz JSON, to saglabāšanu jsonb laukā un turpmāku vaicājumu un deserializāciju.