Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Bekerja dengan Data JSONB dalam GORM tanpa 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"` }
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 }
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)
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!