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

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

Golang 中的 Primitive.ObjectID 到字符串

Golang 中的 Primitive.ObjectID 到字符串

Go
HUWWW 2023-08-21 14:58:28
我正在嘗試將類型轉(zhuǎn)換primitive.ObjectID為stringGo 中的類型。我正在使用mongo-driver來(lái)自go.mongodb.org/mongo-driver.我嘗試使用類型斷言,例如-mongoId := mongoDoc["_id"]; stringObjectID := mongoId.(string)VSCode 接受哪個(gè)。代碼被編譯,當(dāng)它到達(dá)此特定代碼行時(shí),它會(huì)拋出此錯(cuò)誤panic: interface conversion: interface {} is primitive.ObjectID, not string
查看完整描述

4 回答

?
三國(guó)紛爭(zhēng)

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

錯(cuò)誤消息告訴mongoDoc["_id"]is of typeinterface{}持有 type 的值primitive.ObjectID。這不是一個(gè)string,而是一個(gè)獨(dú)特的類型。您只能primitive.ObjectID從接口值鍵入斷言。

如果您想要string此 MongoDB ObjectId 的表示形式,您可以使用其ObjectID.Hex()方法來(lái)獲取 ObjectId 字節(jié)的十六進(jìn)制表示形式:

mongoId?:=?mongoDoc["_id"]
stringObjectID?:=?mongoId.(primitive.ObjectID).Hex()


查看完整回答
反對(duì) 回復(fù) 2023-08-21
?
繁星coding

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

2021 年情況發(fā)生了變化。這里有一個(gè)更簡(jiǎn)單的方法。它讓用戶從模型中詢問它是什么類型,然后就可以了


var user models.User


query := bson.M{"$or": []bson.M{{"username": data["username"]}, {"email": data["username"]}}}


todoCollection := config.MI.DB.Collection(os.Getenv("DATABASE_COLLECTION_USER"))

todoCollection.FindOne(c.Context(), query).Decode(&user)


stringObjectID := user.ObjectID.Hex()

上面的代碼適用于此接口:


type User struct {

    ObjectID primitive.ObjectID `bson:"_id" json:"_id"`


    // Id        string    `json:"id" bson:"id"`

    Username      string    `json:"username" gorm:"unique" bson:"username,omitempty"`

    Email         string    `json:"email" gorm:"unique" bson:"email,omitempty"`

    Password      []byte    `json:"password" bson:"password"`

    CreatedAt     time.Time `json:"createdat" bson:"createat"`

    DeactivatedAt time.Time `json:"updatedat" bson:"updatedat"`

}

因此:這 3 行代碼就可以很好地做到這一點(diǎn):


objectidhere := primitive.NewObjectID()

stringObjectID := objectidhere.Hex()


filename_last := filename_rep + "_" + stringObjectID + "." + fileExt


查看完整回答
反對(duì) 回復(fù) 2023-08-21
?
翻過高山走不出你

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

現(xiàn)在你可以只做 mongoId.Hex()



查看完整回答
反對(duì) 回復(fù) 2023-08-21
?
莫回?zé)o

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

var stringObjectId string = mongoId.(primitive.ObjectID).String()



查看完整回答
反對(duì) 回復(fù) 2023-08-21
  • 4 回答
  • 0 關(guān)注
  • 436 瀏覽
慕課專欄
更多

添加回答

舉報(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)