Junior — Middle
შეგიძლიათ მუშაობა jsonb მონაცემთა ტიპთან მონაცემთა ბაზაში?
sobes.tech AI
პასუხი AI-სგან
დიახ, PostgreSQL-ის მონაცემთა ბაზაში jsonb მონაცემთა ტიპი არის ბინარული წარმოდგენა 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 ველში და შემდეგ კითხვებს და დესერილიზაციას.