Rumah >pembangunan bahagian belakang >Golang >Mengapa Saya Mendapat Objek Kosong Apabila Menyoal MongoDB dengan Go?

Mengapa Saya Mendapat Objek Kosong Apabila Menyoal MongoDB dengan Go?

DDD
DDDasal
2024-12-11 18:52:11529semak imbas

Why Am I Getting Empty Objects When Querying MongoDB with Go?

Objek Kosong dalam Pertanyaan MongoDB dengan Go

Semasa mempelajari pembangunan API Go, anda mungkin menghadapi masalah mendapatkan semula data daripada MongoDB menggunakan pakej mgo. Satu isu sedemikian ialah mendapatkan objek kosong semasa melakukan pertanyaan. Untuk menyelesaikan masalah ini, adalah penting untuk memahami penggunaan teg BSON dan JSON dalam struct Go.

Dalam kod yang anda berikan, isu ini timbul kerana medan dalam struct pengguna tidak dieksport atau ditandakan. Oleh itu, mereka diabaikan oleh pakej mgo. Untuk membetulkannya, anda perlu mengeksport medan dengan menggunakan huruf besar pertama, seperti:

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

Secara lalai, nama medan diandaikan apabila menukar nilai struct kepada/dari MongoDB. Walau bagaimanapun, teg membenarkan anda memetakan medan kepada nama tertentu untuk penyirian dan pengambilan semula. Dalam kes ini, anda telah menentukan teg untuk memadankan nama medan BSON dan JSON.

Selepas perubahan ini, kod anda akan berjaya mendapatkan semula objek bukan kosong daripada koleksi MongoDB. Garis cetakan akan memaparkan data pengguna yang betul dan kiraan mesej dalam koleksi.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Objek Kosong Apabila Menyoal MongoDB dengan Go?. 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