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"}}}}}}
我正在尝试进行 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"}}}}}}