{
$project: {
'messages': {
'$reduce': {
'input': '$messages',
'initialValue': 0,
'in': {
'$cond': {
'if': { '$$this.readBy': { $elemMatch: userId } },
'then': { '$add': [ '$$value', 1 ] },
'else': '$$value'
}
}
}
}
}
}
]);
можно переписать похожим образом, только в случае если массив включает конкретный айдишник, те если айдишник содержится мы делаем месседж +1, нет не добавляем ничего, и еще подскажи пожалуйста как работает оператор $$this?
https://docs.mongodb.com/manual/reference/operator/aggregation/reduce/
Обсуждают сегодня