'Mongodb Random Data from aggregate function with Bias

Does mongodb aggragate function support biases or will favor values that are specified, for example i have an array of values for a variable

genre = [science, math, english]

and I want to get (5) random document from the database where the document has a either 1 of the genres in the specified array, I want to get these data from biases since if ever that only 2 documents matched the specified condition, i want the other 3 to be randomized instead, thus completing the 5 random documents that i need.

Heres what i've gotten so far, but it only gets random data without any values

    const book = await Book.aggregate([

        {
            $match: { genre: { $type: "string" } }
        },
        {

            $sample: { size: 6 }
        },
        {
            $set: {
                genre: {
                    $cond: {
                        if: { $eq: [{ $type: "$genre" }, "string"] },
                        then: ["$genre"],
                        else: "$genre"
                    }
                }
            }
        },
    ]);


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source