¿La función agregada de mongodb admite sesgos o favorecerá los valores que se especifican, por ejemplo, tengo una matriz de valores para una variable?
genre = [science, math, english]y quiero obtener (5) documentos aleatorios de la base de datos donde el documento tiene 1 de los géneros en la matriz especificada, quiero obtener estos datos de sesgos ya que si alguna vez solo 2 documentos cumplieron con la condición especificada, quiero los otros 3 serán aleatorios en su lugar, completando así los 5 documentos aleatorios que necesito.
Esto es lo que obtuve hasta ahora, pero solo obtiene datos aleatorios sin ningún valor
const book = await Book.aggregate([ { $match: { genre: { $type: "string" } } }, { $sample: { size: 6 } }, { $set: { genre: { $cond: { if: { $eq: [{ $type: "$genre" }, "string"] }, then: ["$genre"], else: "$genre" } } } }, ]);