в моей коллекции у меня есть документ, который содержит следующий массив (simplefied):
notifications: [
{
message: "i am an message",
readed: false
},
{
message: "i am an message",
readed: false
},
{
message: "i am an message",
readed: true
},
{
message: "i am an message",
readed: true
}
]
Я хочу подсчитать все поля с readed:false
, так что это мой ожидаемый результат:
{
unreaded_messages: 2
}
Я попытался добавить поле и отобразить массив уведомлений и добавить все непрочитанные элементы. после этого я хотел получить размер с $size
, поэтому я получил номер. Но это не сработало так, как я ожидал.
{
$addFields: {
unreaded_messages: {
$map: {
input: "$notification",
in: {
check: {
$eq: [
"$$this.readed",
false
]
}
}
}
}
}
}