登录
首页 >  Golang >  Go问答

如何在 Go MongoDB Driver 中执行聚合和查询操作

来源:stackoverflow

时间:2024-03-10 14:48:23 501浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《如何在 Go MongoDB Driver 中执行聚合和查询操作》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

我正在尝试找到一种方法来使用聚合选项“查找”和 go mongo 驱动程序中的查找选项。 文档没有给出任何直接说明如何将聚合与 go mongo 驱动程序一起使用。

是否有任何解决方案可以直接将聚合选项与查找选项一起使用。


解决方案


mongodb Aggregation Pipeline 不接受与 mongodb collection.find() 选项相同的选项。不幸的是,没有更多关于您所追求的 find() 选项的上下文。如果您希望指定 find() projection 选项,请参阅 $project aggregation pipeline stage。您可以在 $lookup stage 之后添加此阶段。

mongo-go-driver中的aggregate方法接受pipeline参数,该参数应该是文档的切片,每个文档代表一个管道阶段。 $lookup 将是这些阶段之一。例如,管道 [{$lookup: {from: "foo", localfield:"x",foreignfield:"y", as:"bar"}}] 将在 go 驱动程序中编写为:

coll.Aggregate(ctx, mongo.Pipeline{
    {{"$lookup", bson.D{
       {"from", "foo"}, 
       {"localField", "x"}, 
       {"foreignField", "y"},
       {"as", "bar"}
    }}},
})

今天关于《如何在 Go MongoDB Driver 中执行聚合和查询操作》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>