Atualmente, você deve poder usar o
$sample
função de agregação. Exemplo (não testado):
db.articles.aggregate([
{ $match : { topic : 3 } },
{ $sample : { size: 3 } }
])
Observe, no entanto, que ele pode retornar o mesmo documento mais de uma vez.