Bagaimana untuk Menyoal MongoDB dari Golang menggunakan Array ID Objek?

DDD
Lepaskan: 2024-10-31 02:06:29
asal
541 orang telah melayarinya

How to Query MongoDB from Golang using an Array of Object IDs?

Menyoal MongoDB dari Golang Menggunakan Tatasusunan ID Objek

Dalam MongoDB, anda boleh menyimpan tatasusunan dokumen, setiap satu dengan _id uniknya sendiri . Ini membolehkan anda mengaitkan berbilang dokumen dengan dokumen induk. Apabila membuat pertanyaan untuk dokumen ini menggunakan pakej mgo dan bson Golang, adalah penting untuk menukar tatasusunan _id kepada jenis yang sesuai.

Penyelesaian

Jika nilai _id dalam tatasusunan hanyalah rentetan hex, kod yang disediakan adalah betul:

<code class="go">query := bson.M{"_id": bson.M{"$in": ids}}
c.Find(query).All()</code>
Salin selepas log masuk

Walau bagaimanapun, jika nilai _id ialah pengecam objek (ObjectId), anda perlu menukarnya kepada jenis yang betul:

<code class="go">oids := make([]bson.ObjectId, len(ids))
for i := range ids {
  oids[i] = bson.ObjectIdHex(ids[i])
}
query := bson.M{"_id": bson.M{"$in": oids}}</code>
Salin selepas log masuk

Penukaran ini diperlukan kerana operator $in memerlukan tatasusunan nilai ObjectId, bukan rentetan hex. Dengan menukar rentetan hex kepada jenis ObjectId, anda boleh membuat pertanyaan dengan betul untuk dokumen yang dikaitkan dengan nilai _id yang disediakan.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal MongoDB dari Golang menggunakan Array ID Objek?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!