Apabila bekerja dengan pemacu MongoDB daripada go.mongodb.org/mongo-driver, menukar primitif. ObjectID pada rentetan boleh mencabar.
Percubaan untuk menaip menegaskan pemacu mongo.ObjectID pada rentetan menggunakan mongoDoc["_id"].(rentetan) mengakibatkan panik masa jalan :
panic: interface conversion: interface {} is primitive.ObjectID, not string
Ralat berlaku kerana mongoDoc["_id"] memegang nilai antara muka jenis antara muka{} dengan nilai konkrit primitif.ObjectID. Untuk berjaya menukar kepada rentetan, kita perlu menaip menegaskan nilai primitif.ObjectID itu sendiri dan bukannya nilai antara muka.
mongoId := mongoDoc["_id"].(primitive.ObjectID) stringObjectID := mongoId.Hex()
Kaedah Hex() pada jenis primitif.ObjectID menyediakan perwakilan heksadesimal baginya bait.
Atas ialah kandungan terperinci Bagaimana untuk Menukar `primitive.ObjectID` kepada String in Go dengan Pemacu MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!