Rumah >pembangunan bahagian belakang >Golang >Mengapa pertanyaan Go mgo saya mengembalikan objek kosong?

Mengapa pertanyaan Go mgo saya mengembalikan objek kosong?

DDD
DDDasal
2024-12-17 08:36:25712semak imbas

Why are my Go mgo queries returning empty objects?

Go mgo: Pengambilan Objek Kosong

Apabila cuba mendapatkan semula objek daripada contoh MongoDB menggunakan pakej Go mgo, ada kemungkinan untuk menemui kosong objek hasil. Isu ini boleh berpunca daripada pengendalian medan yang tidak betul dalam struct yang digunakan untuk mewakili dokumen MongoDB.

Dalam sampel kod anda, anda mentakrifkan struct pengguna dengan medan berikut:

type users struct {
    user string `bson:"user" json:"user"`
    data string
}

Walau bagaimanapun, medan tidak dieksport (huruf pertama huruf besar). Sehubungan itu, pakej mgo mengabaikannya semasa bersiri dan penyahserikatan dengan MongoDB. Untuk membetulkannya, eksport medan:

type users struct {
    User string `bson:"user" json:"user"`
    Data string `bson:"data" json:"data"`
}

Dengan mengeksport medan (menggunakan huruf besar pertama), pakej mgo kini boleh mengecamnya dan memetakannya ke medan MongoDB yang sepadan. Sebagai peringatan, secara lalai, nama medan dalam struct digunakan untuk pemetaan. Untuk menentukan pemetaan tersuai, gunakan teg (seperti bson dan json dalam contoh).

Atas ialah kandungan terperinci Mengapa pertanyaan Go mgo saya mengembalikan objek kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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