Encontré el paquete mongoose-random para obtener una matriz JSON de registros aleatorios usando mongoose.
Quiero obtener tres registros aleatorios con un campo específico. Leí la documentación, pero todavía no encontré ninguna solución. El siguiente código no funciona.
app.get('/get/random/song/:language/:gender', function (req, res) { var fields = {lang: req.params.language, gender: req.params.gender}; var filter = {} var options = {skip: 3, limit: 3}; Song.findRandom(filter, fields, options, function (err, songs) { res.json(songs); }); });Hoy en día se podría utilizar aggregate , así:
this.aggregate([ { $match: { "condition1" : "to_match" , "condition2" : "to_match" } } , { $sample: { size : 3 } } ]);
Donde $sample es el número de filas aleatorias que obtendrá