A partir da versão 2.4 existe um recurso que permite fazer isso chamado de "matrizes limitadas". Isso permite que você
$push
documentos para um array em conjunto com $each
, $slice
e $sort
operadores para adicionar um ou mais documentos à matriz, mantendo o tamanho determinado, classificando por campo especificado de subdocumentos. Veja a sintaxe exata e exemplos aqui .