我试图找到一种在go mongo驱动程序中将聚合选项'lookup'与find选项一起使用的方法。
文档没有直接指示如何将聚合与go mongo驱动程序一起使用。
是否有任何解决方案可以直接将聚合选项与查找选项一起使用。
最佳答案
是否有任何解决方案可以直接将聚合选项与查找选项一起使用。
MongoDB Aggregation Pipeline不接受与MongoDB collection.find()选项相同的选项。不幸的是,您不再需要使用哪种find()选项。如果您要指定find()projection选项,请参见$project aggregation pipeline stage。您可以在$lookup stage之后添加此阶段。
文档没有直接指示如何将聚合与go mongo驱动程序一起使用。
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"}
}}},
})
关于mongodb - 如何在go mongo驱动器中将聚集选项与查找选项一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58334220/