Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Bekerja dengan Data JSONB dalam GORM tanpa postgres.Jsonb?

Bagaimana untuk Bekerja dengan Data JSONB dalam GORM tanpa postgres.Jsonb?

Patricia Arquette
Lepaskan: 2024-11-20 02:25:02
asal
443 orang telah melayarinya

How to Work with JSONB Data in GORM without postgres.Jsonb?

Bekerja dengan JSONB dalam GORM tanpa postgres.Jsonb

Apabila menggunakan GORM dengan PostgreSQL, anda mungkin menghadapi situasi di mana anda ingin menyimpan tatasusunan rentetan sebagai objek JSONB. Walaupun GORM menyediakan jenis postgres.Jsonb untuk tujuan ini, anda mungkin memilih untuk mengelak daripada menggunakannya. Dalam artikel ini, kami akan meneroka kaedah alternatif untuk memanipulasi JSONB menggunakan GORM tanpa bergantung pada jenis postgres.Jsonb.

Menggunakan pgtype.JSONB

Pendekatan yang disyorkan melibatkan menggunakan pgtype.JSONB, jenis yang disediakan oleh pemacu pgx yang digunakan oleh GORM. pgtype.JSONB menawarkan cara yang mudah dan cekap untuk berinteraksi dengan lajur JSONB. Berikut ialah contoh:

type User struct {
    gorm.Model
    Data pgtype.JSONB `gorm:"type:jsonb;default:'[]';not null"`
}
Salin selepas log masuk

Mendapatkan semula Data JSONB

Untuk mendapatkan semula nilai JSONB daripada pangkalan data, tetapkan ia kepada pembolehubah:

u := User{}
db.find(&u)

var data []string
err := u.Data.AssignTo(&data)
if err != nil {
    // Handle error
}
Salin selepas log masuk

Menyimpan Data JSONB

Untuk menyimpan nilai JSONB dalam pangkalan data, gunakan kaedah Set:

u := User{}
err := u.Data.Set([]string{"abc", "def"})
if err != nil {
    // Handle error
}
db.Updates(&u)
Salin selepas log masuk

Dengan menggunakan pgtype.JSONB, anda memperoleh fleksibiliti dan keserasian dengan pelbagai jenis JSONB melangkau tatasusunan rentetan mudah. Pendekatan ini sejajar dengan keupayaan pemandu asas GORM, memastikan prestasi optimum dan interaksi pangkalan data yang boleh dipercayai.

Atas ialah kandungan terperinci Bagaimana untuk Bekerja dengan Data JSONB dalam GORM tanpa postgres.Jsonb?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan