Назад к вопросам
Junior — Middle
82
Имел ли опыт работы с типом данных jsonb в базе данных?
Компании, где спрашивали
Бери Заряд
Ответ от нейросети
sobes.tech 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 и последующий запрос и десериализацию.