我尝试从我的 Go 代码中获取 MongoDB 集合的最大值。我应该使用什么类型来解码结果?当我使用bson.D{}asval2类型时,结果看起来像[{_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 回答
动漫人物
TA贡献1815条经验 获得超10个赞
正如您所介绍的那样,使用bson.D已经有效。问题可能是您无法“轻松”获得max和cnt值。
使用如下结构对结果文档进行建模:
type result struct {
Max int `bson:"max"`
Count int `bson:"cnt"
}
虽然cnt不是由您提供的示例代码生成的。
进而:
var res result
err := cursor.Decode(&res)
- 1 回答
- 0 关注
- 92 浏览
添加回答
举报
0/150
提交
取消