W dzisiejszych czasach powinieneś być w stanie korzystać z $sample
funkcja agregacji.
Przykład (nietestowany):
db.articles.aggregate([
{ $match : { topic : 3 } },
{ $sample : { size: 3 } }
])
Pamiętaj jednak, że może zwrócić ten sam dokument więcej niż raz.