Преобразование Primitive.ObjectID в строку в Golang
В Go mongo-драйвер из go.mongodb.org/mongo-driver управляет Типы данных MongoDB. Однако преобразование типа примитива ObjectID в строку требует особого подхода.
При попытке использовать утверждение типа, как показано в предоставленном коде:
mongoId := mongoDoc["_id"] stringObjectID := mongoId.(string)
Эта строка вызывает ошибку:
panic: interface conversion: interface {} is primitive.ObjectID, not string
Возникает проблема потому что mongoDoc["_id"] — это интерфейс{}, содержащий значение типа примитив.ObjectID. Утверждение типа может выполняться только для примитивных типов из значений интерфейса.
Чтобы получить строковое представление примитива.ObjectID, используйте метод Hex() типа примитива.ObjectID. Этот метод получает шестнадцатеричное представление байтов ObjectId:
mongoId := mongoDoc["_id"] stringObjectID := mongoId.(primitive.ObjectID).Hex()
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3