Sobes.tech
Junior — Middle

Оё таҷрибаи кор бо навъи маълумоти jsonb дар базаи маълумот доред?

sobes.tech AI

Ҷавоб аз AI

Бале, навъи маълумоти jsonb дар базаи додаҳои PostgreSQL як намуди бинарии JSON мебошад, ки имкон медиҳад, ки маълумоти JSON-ро самаранок нигоҳ доштан ва индексгузорӣ кардан мумкин аст.

Дар Go, барои кор бо jsonb, одатан аз бастаи database/sql дар ҳамоҳангӣ бо драйвери PostgreSQL (масалан, lib/pq ё pgx) истифода мешавад. Барои интиқол ва гирифтани маълумот дар майдони jsonb, намудҳо ҳамчун []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 ва пас аз он пурсишҳо ва десериализатсия.