数组上的$ lookup在mongdb v3.2中不起作用

时间:2018-05-03 16:07:36

标签: javascript node.js mongodb mongoose aggregation-framework

我正在尝试使用$ push在聚合期间推送数组中的字段。推动是基于一个条件。这是我的代码。

Applications.aggregate(
        { $match: { playerUser: userId, playerFeedback: { $exists: false } } },
        { $group: {
            _id: '$format',
            players: { $push: { $cond: [{ $ne: ['$status', 'invite']}, "$player", null] }},
            invite: { $sum: { $cond: [{ $eq: ['$status', 'invite']}, 1, 0] } }
        } },
        {
            $lookup: {from: 'players', localField: 'players', foreignField: '_id', as: 'players'}
        },
        {
            $project : {
                "players.name" : 1,
                "players.Url" : 1,
                "invite" : 1,
                "applied": 1
            }
        }

这似乎适用于我的暂存环境,它有mongodb v3.4。但它对我的生产环境没有影响,mongodb v3.2;虽然我不确定版本是否是一个问题。有人可以帮忙吗?

0 个答案:

没有答案