Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menapis Medan Khusus daripada Dokumen MongoDB menggunakan Mongo-Go-Driver?

Bagaimana untuk Menapis Medan Khusus daripada Dokumen MongoDB menggunakan Mongo-Go-Driver?

Susan Sarandon
Lepaskan: 2024-12-19 03:55:12
asal
879 orang telah melayarinya

How to Filter Specific Fields from MongoDB Documents using the Mongo-Go-Driver?

Menapis Medan daripada Dokumen MongoDB dengan Mongo-Go-Driver

Untuk menapis medan tertentu daripada dokumen MongoDB menggunakan Mongodb-Go-Driver, pilihan findopt.Projection boleh digunakan. Walau bagaimanapun, dalam kod yang anda berikan, isu timbul kerana medan _id dalam struct medan tidak dieksport (bermula dengan huruf kecil).

Penyelesaian Disemak:

Untuk menyelesaikan masalah ini, nama medan hendaklah dieksport (bermula dengan huruf besar) dan menggunakan tag struct untuk memetakannya ke medan _id MongoDB. Kod yang dikemas kini:

type fields struct {
    ID int `bson:"_id"`
}
Salin selepas log masuk

Unjuran menggunakan Pilihan Unjuran:

Untuk melakukan pertanyaan dengan unjuran, gunakan kaedah pilihan.FindOne().SetProjection(unjuran) , dengan unjuran mewakili medan yang diingini untuk diambil semula.

Dikemas kini Kod:

projection := fields{
    ID: 0,
}
result := staCon.collection.FindOne(
    nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
Salin selepas log masuk

Alternatif Menggunakan bson.Dokumen:

Sebagai alternatif, bson.Dokumen boleh digunakan sebagai unjuran:

projection := bson.NewDocument(
    bson.EC.Int32("_id", 0),
)
result := staCon.collection.FindOne(
    nil, filter, options.FindOne().SetProjection(projection)).Decode(s)
Salin selepas log masuk

Menggunakan pendekatan ini, anda boleh menapis medan tertentu daripada dokumen MongoDB, menyekat yang tidak perlu medan seperti _id jika mahu.

Atas ialah kandungan terperinci Bagaimana untuk Menapis Medan Khusus daripada Dokumen MongoDB menggunakan Mongo-Go-Driver?. 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