3 回答

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊
我認(rèn)為問題可能是您的 UserResp 結(jié)構(gòu)具有私有成員。
//Instead of
users []string `json:"users" bson:"users"`
// Try
Users []string `json:"users" bson:"users"`

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
一個(gè)瘋狂的猜測,但也許可以嘗試
var result UserResp
而不是使用指針。
同樣正如沃爾特所提到的,您也應(yīng)該導(dǎo)出該Users
字段。

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
users
沒有出口,應(yīng)該是Users
。您不需要指向指針的指針,我個(gè)人只是使用
var result UserResp
.
以下更正:
type UserResp struct {
Users []string
}
var result UserResp
err := coll.Find(bson.M{"id": depID}).Select(bson.M{"users": 1}).One(&result)
如果這些不是問題,那么我在處理 BSON 和數(shù)組/切片時(shí)遇到了很多問題。您可以嘗試制作Users一個(gè)界面,或者將整個(gè)輸出寫入 bson.M 映射 ( map[string]interface{}) 并從那里開始。我會(huì)這樣做:
var result bson.M
err := coll.Find(bson.M{"id": depID}).Select(bson.M{"users": 1}).One(&result)
您可以使用類型斷言訪問基礎(chǔ)數(shù)據(jù):
result["users"].([]string)
如果這不起作用,只需檢查底層數(shù)據(jù)以調(diào)試返回的類型:
fmt.Printf("%+v", result)
無論哪種方式,一旦你像這樣在 Go 中擁有數(shù)據(jù)。調(diào)試起來會(huì)容易得多。
- 3 回答
- 0 關(guān)注
- 251 瀏覽
添加回答
舉報(bào)