Hoy en día, debería poder usar el $sample
función de agregación.
Ejemplo (no probado):
db.articles.aggregate([
{ $match : { topic : 3 } },
{ $sample : { size: 3 } }
])
Tenga en cuenta, sin embargo, que puede devolver el mismo documento más de una vez.