Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyoal MongoDB dari Go dengan Array ID Objek?

Bagaimana untuk Menyoal MongoDB dari Go dengan Array ID Objek?

DDD
DDDasal
2024-11-03 00:42:29357semak imbas

How to Query MongoDB from Go with an Array of Object IDs?

Menyoal MongoDB daripada Go dengan Array ID Objek

Dalam MongoDB, mendapatkan semula dokumen berdasarkan pengecam objeknya yang disimpan dalam tatasusunan boleh dicapai dengan pengendali $in dan pakej mgo dan bson.

Melaksanakan Pertanyaan:

Untuk melaksanakan pertanyaan dengan betul, anda perlu memastikan bahawa pengecam objek dalam tatasusunan berada dalam format yang betul. Jika dokumen disimpan dengan ID rentetan, pertanyaan yang anda berikan adalah tepat:

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

Walau bagaimanapun, jika pengecam objek adalah dalam bentuk rentetan berkod hex (cth., "543d171c5b2c12420dd016"), anda perlu untuk menukarnya kepada objek bson.ObjectId sebelum menggunakannya dalam pertanyaan. Begini cara anda boleh melakukannya:

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

Pengubahsuaian ini memastikan bahawa pertanyaan sepadan dengan pengecam objek yang disimpan dalam tatasusunan sebagai objek bson.ObjectId.

Atas ialah kandungan terperinci Bagaimana untuk Menyoal MongoDB dari Go dengan Array ID Objek?. 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