第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

根據(jù)類型處理 MongoDB 錯(cuò)誤

根據(jù)類型處理 MongoDB 錯(cuò)誤

Go
慕的地8271018 2022-05-23 15:14:25
我正在使用它的 ID 獲取帳戶的數(shù)據(jù)。目前,當(dāng)我進(jìn)行這個(gè)查詢時(shí),mongo-go-driver 會(huì)給出一個(gè)錯(cuò)誤,我想根據(jù)它的類型以不同的方式處理這個(gè)錯(cuò)誤。例如,如果文檔不存在,我想返回 404,但假設(shè)持有我的 mongodb 的實(shí)例下降,在這種情況下,我想返回 500。我該如何處理錯(cuò)誤類型: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}
查看完整描述

1 回答

?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

您可以使用 mongo-go-driver 文檔 ( https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo?tab=doc#pkg-variables ) 中定義的錯(cuò)誤變量。有了這些,您也許可以執(zhí)行以下操作:


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 {

        if err == mongo.ErrNoDocuments {

            // Return the 404

        }

        return err

    }

    return nil

}


查看完整回答
反對(duì) 回復(fù) 2022-05-23
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)