我正在尝试使用$ 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;虽然我不确定版本是否是一个问题。有人可以帮忙吗?