我嘗試從我的 Go 代碼中獲取 MongoDB 集合的最大值。我應(yīng)該使用什么類(lèi)型來(lái)解碼結(jié)果?當(dāng)我使用bson.D{}asval2類(lèi)型時(shí),結(jié)果看起來(lái)像[{_id <nil>} {max 66} {cnt 14}].這是代碼: filter := []bson.M{{ "$group": bson.M{ "_id": nil, "max": bson.M{"$max": "$hellid"}, }}, } cursor, err := collection.Aggregate(ctx, filter) for cursor.Next(ctx) { val2 := ??? err := cursor.Decode(&val2) fmt.Printf("cursor: %v, value: %v\n", cursor.Current, val2) }}
1 回答

動(dòng)漫人物
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
正如您所介紹的那樣,使用bson.D已經(jīng)有效。問(wèn)題可能是您無(wú)法“輕松”獲得max和cnt值。
使用如下結(jié)構(gòu)對(duì)結(jié)果文檔進(jìn)行建模:
type result struct {
Max int `bson:"max"`
Count int `bson:"cnt"
}
雖然cnt不是由您提供的示例代碼生成的。
進(jìn)而:
var res result
err := cursor.Decode(&res)
- 1 回答
- 0 關(guān)注
- 132 瀏覽
添加回答
舉報(bào)
0/150
提交
取消