亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據類型處理 MongoDB 錯誤

根據類型處理 MongoDB 錯誤

Go
慕的地8271018 2022-05-23 15:14:25
我正在使用它的 ID 獲取帳戶的數據。目前,當我進行這個查詢時,mongo-go-driver 會給出一個錯誤,我想根據它的類型以不同的方式處理這個錯誤。例如,如果文檔不存在,我想返回 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}
查看完整描述

1 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

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


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

}


查看完整回答
反對 回復 2022-05-23
  • 1 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號