MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como obter dados de dados do Mongo usando o MongoDB agregado


Você pode usar o pipeline de agregação abaixo.

A consulta abaixo irá $unwind o tag_id seguido por $group para contar email e $cond operador para contar os unread o email.
db.collection.aggregate(
 {$unwind:{path:"$tag_id", preserveNullAndEmptyArrays:true}}, 
 {$group:{
    _id:"$tag_id", 
     count_email:{$sum:1},
     unread:{$sum:{$cond:[{$eq:["$unread", "false"]}, 0, 1]}}
    }
  }
);