Golang mongodb primitive.E 中的聚合值太多

Golang mongodb Aggregation too many values in primitive.E

我正在尝试进行 mongo 聚合。
我在 MongoDB 中做了这个查询:

db.mongo.aggregate([{$group: {_id: {"host":"$host"}, "last_exec": {$last: "$time"}, "status": {$last: "$status"}}}]);

我使用的包:go.mongodb.org
我想在我的 Golang 代码中实现它:

groupStage := bson.D{{"$group", bson.D{{"_id", bson.D {{"host", "$host"}}, "last_exec", bson.D{{"$last", "$time"}}, "status", bson.D{{"$last", "$status"}}}}}}
cursor, err = collection.Aggregate(ctx, mongo.Pipeline{groupStage})
if err != nil {
    fmt.Println("Failed to Aggregate: ", err)
}
if err = cursor.All(ctx, &metas); err != nil {
    fmt.Printf("cursor.All() error:", err)
}

当我 运行 我的程序 returns 出现以下错误:

too many values in primitive.E{...}

有没有人知道如何解决这个问题? 感谢您的帮助!

您可以为 groupStage 尝试此代码(对我有用):

groupStage := bson.D{{"$group", bson.D{{"_id", bson.D{{"host", "$host"}}}, {"last_exec", bson.D{{"$last","$time"}}}}}}