如何根据情况从不同的收藏夹中查找$ lookup?

时间:2019-05-17 21:41:19

标签: mongodb aggregation-framework mongodb-stitch

我有3个收藏集:“ group10”,“ group20”和“ parent”

我想根据“父”集合中的条件在这些集合之一中的聚合管道中执行$ lookup。

集合“父母”:

[{_id: 1, groupId: 10},
 {_id: 2, groupId: 20}]

集合“ group10”:

[{_id: 1, groupId: 10, userData: 'A'},
 {_id: 2, groupId: 10, userData: 'B'}]

集合“ group20”:

[{_id: 1, groupId: 20, userData: 'C'},
 {_id: 2, groupId: 20, userData: 'D'}]

我尝试了下一个代码:

$lookup: {
    from: {
        $cond: [{
                $eq: ['$groupId', 10]
            },
            'group10',
            'group20'
        ]
    },
    localField: 'groupId',
    foreignField: 'groupId',
    as: 'data'
}

但出现此错误: $ lookup的'from'选项必须是字符串,但类型为object

0 个答案:

没有答案