gpt4 book ai didi

mongodb - 如何使用mongo-driver在Go中执行聚合

转载 作者:行者123 更新时间:2023-12-01 22:16:41 24 4
gpt4 key购买 nike

我有一个包含3个字段的MongoDB集合:

_id: ObjectId
field1: Number
field2: Number

我正在执行此聚合以获取“不同的” field1 / field2行,并对结果进行总计。在客户端(Robo3t)中可以正常工作:
db.mycollection.aggregate([
{
$group: {
_id: { field1: "$field1", field2: "$field2" },
}
},
{
$group: {
_id: null, count: { $sum: 1 }
}
}
])

结果:
{
"_id" : null,
"count" : 57.0
}

如何使用mongo-driver在Go中进行此聚合?

this方法可以执行聚合,但是文档对我来说还不清楚。我知道我应该做某种bson查询,但是我不知道从哪里开始。

最佳答案

group :=[]bson.M{bson.M{
"$group": bson.M{
"_id":bson.M{
"field1": "$field1",
"field2": "$field2"
}
}
},
bson.M {
"$group": bson.M{
"_id":nil,
"count": bson.M{
"$sum":1
}
}
}
}

cursor, err := coll.Aggregate(context.Background(), mongo.Pipeline{group})
if err != nil {
log.Fatal(err)
}

尝试上述解决方案,它将起作用。

关于mongodb - 如何使用mongo-driver在Go中执行聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59513341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com