Sobes.tech
Junior — Middle

Դուք ունե՞ք jsonb տվյալների տիպով աշխատելու փորձ տվյալների բազայում։

sobes.tech AI

Պատասխան AI-ից

Այո, PostgreSQL տվյալների բազայում jsonb տվյալների տիպը JSON-ի բինարային ներկայացումն է, որը թույլ է տալիս արդյունավետ պահել և ինդեքսավորել JSON տվյալները:

Go-ում jsonb-ի հետ աշխատելու համար սովորաբար օգտագործվում է database/sql փաթեթը և PostgreSQL-ի վարորդը (օրինակ, lib/pq կամ pgxjsonb դաշտում տվյալների փոխանցում և ստացում համար օգտագործվում են []byte կամ string տիպերը, ինչպես նաև encoding/json փաթեթի միջոցով սերիալիզացված/դեսերիալիզացված կառուցվածքներ:

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
}

Այսպիսով, jsonb-ի հետ աշխատելը ներառում է կառուցվածքների JSON-ով սերիալիզացիա, պահպանում jsonb դաշտում և հետագա հարցումներ և դեսերիալիզացիա։