我正在尝试找到一种在go mongo驱动程序中使用聚合选项'lookup‘和find选项的方法。文档没有给出任何直接的指令来使用go mongo驱动程序的聚合。
对于直接使用聚合选项和查找选项,有什么解决方案吗?
发布于 2019-10-11 22:37:22
对于直接使用聚合选项和查找选项有什么解决方案吗?
MongoDB Aggregation Pipeline不接受与MongoDB collection.find()选项相同的选项。不幸的是,没有您想要的find()选项的更多上下文。如果您希望指定projection ()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"}
}}},
})https://stackoverflow.com/questions/58334220
复制相似问题