1 回答
TA贡献1821条经验 获得超6个赞
MongoDB 管道中的每个元素都必须是单个阶段,例如$match,$group等。
您的group元素包含 2 个阶段:$lookup和$graphLookup.
拆分它们并单独列出它们:
match := bson.D{{"$match", bson.D{{"venue", venueID}}}}
group := bson.D{{"$lookup", bson.M{
"from": "labels",
"localField": "label_ids",
"foreignField": "_id",
"as": "labels",
}}}
graphLookup := bson.D{{"$graphLookup", bson.M{
"from": "menus",
"startWith": "$child_ids",
"connectFromField": "child_ids",
"connectToField": "_id",
"as": "children",
"maxDepth": 5,
"depthField": "level",
}}}
cur, err := m.collection.Aggregate(ctx, mongo.Pipeline{group, graphLookup, match})
- 1 回答
- 0 关注
- 211 浏览
添加回答
举报
