Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan Ralat \"ObjectIDs mestilah tepat 12 bait\" Semasa Menggunakan FindId() dalam Pustaka Mgo Golang?

Bagaimana untuk Membetulkan Ralat \"ObjectIDs mestilah tepat 12 bait\" Semasa Menggunakan FindId() dalam Pustaka Mgo Golang?

DDD
DDDasal
2024-10-31 19:41:01950semak imbas

How to Fix

Menyelesaikan Masalah Penggunaan FindId() dalam Pustaka Mgo Golang

Apabila cuba mendapatkan semula dokumen menggunakan fungsi FindId() dalam mgo, ralat mungkin timbul disebabkan oleh nilai ObjectId yang tidak sah. Mesej ralat "ObjectIDs mestilah betul-betul 12 bait panjang" menunjukkan bahawa ID yang disediakan tidak dalam format yang dijangkakan.

Memahami Format ObjectId

An ObjectId dalam MongoDB ialah nilai 12-bait yang mengenal pasti dokumen secara unik. Ia biasanya diwakili sebagai rentetan heksadesimal dengan 24 aksara. Pustaka mgo menjangkakan ObjectId akan disediakan sama ada sebagai objek bson.ObjectId atau perwakilan binari 12 bait.

Menyelesaikan Isu

Dalam kod yang disediakan, message.ID ialah rentetan yang mengandungi perwakilan heksadesimal ObjectId. Untuk menggunakan nilai ini dengan FindId(), ia mesti ditukar kepada objek bson.ObjectId menggunakan fungsi bson.ObjectIdHex():

<code class="go">err = coll.FindId(bson.ObjectIdHex(message.ID)).One(&result)</code>

Dengan menggunakan bson.ObjectIdHex(), anda memastikan bahawa yang disediakan rentetan ditafsirkan dengan betul dan ditukar kepada nilai ObjectId yang sah, menyelesaikan ralat.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \"ObjectIDs mestilah tepat 12 bait\" Semasa Menggunakan FindId() dalam Pustaka Mgo Golang?. 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