Apabila cuba mendapatkan semula dokumen dengan medan _idnya, anda mungkin menghadapi masalah di mana nilai yang dikembalikan adalah kosong. Satu punca yang berpotensi ialah pengendalian yang salah bagi jenis ObjectID _id.
Dalam coretan kod yang disediakan, _id diwakili menggunakan bson.RawValue, yang merupakan jenis generik untuk memegang BSON data tanpa sebarang tafsiran khusus. Walau bagaimanapun, pemandu mongo-go menjangkakan ObjectID apabila mencari mengikut _id.
Untuk menyelesaikan isu ini, anda boleh menggunakan primitive.ObjectIDFromHex untuk menukar rentetan _id kepada ObjectID. Berikut ialah contoh:
<code class="go">import ( "github.com/mongodb/mongo-go-driver/bson" "github.com/mongodb/mongo-go-driver/mongo" ) // ... objID, _ := primitive.ObjectIDFromHex("5c7452c7aeb4c97e0cdb75bf") value := collection.FindOne(ctx, bson.M{"_id": objID})</code>
Ini seharusnya mengembalikan dokumen yang diingini dengan _id yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Dokumen dengan _id Menggunakan mongo-go-driver?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!