Tengo una función agregada como esta
app.get('/feed', (req, res) => { TFBlog.aggregate([ { $sample: {size: 5} }, { $match: {"published": true} }, ]).then((docs)=>{ res.render('explore',{docs:docs}); }); });
Ahora, si el agregado encuentra un documento que no satisface {published: true}, simplemente devuelve una matriz vacía
Entonces, en muchos casos de uso, obtengo 4 o 3 documentos en la matriz de retorno en lugar de 5
¡Quiero que esta función siempre devuelva 5 documentos aleatorios con criterios de coincidencia de $ pase lo que pase!
¿Cómo puedo lograr esto, por favor explique?
¿Mover la condición $match
a la parte superior?
db.collection.aggregate([ { $match: {"published": true} }, { $sample: {size: 5} } ])