Я получаю данные аккаунта, используя его идентификатор. В настоящее время, когда я делаю этот запрос, драйвер mon go - go выдает ошибку, и я хочу обработать эту ошибку по-разному, в зависимости от ее типа. Например, если документ не существует, я хочу вернуть 404, но давайте предположим, что экземпляр, содержащий мою mongodb, падает, в этом случае я хочу вернуть 500. Как я могу обработать тип ошибки:
func (dao MongoDAO) Get(ctx *gin.Context, filter bson.M, entity interface{}) error {
context, _ := context.WithTimeout(context.Background(), 5*time.Second)
if err := dao.Collection.FindOne(context, filter).Decode(entity); err != nil {
return err
}
return nil
}