Database
[{"question":"question 1...","option":[{"id":"1","text":"opt1"},{"id":"2","text":"opt2"},{"id":"3","text":"opt3"}]},{"question":"question 2...","option":[{"id":"1","text":"opt1"},{"id":"2","text":"opt2"},{"id":"3","text":"opt3"},{"id":"4","text":"opt4"},{"id":"5","text":"opt5"}]},{"question":"question 3...","option":[{"id":"1","text":"opt1"},{"id":"2","text":"opt2"},{"id":"3","text":"opt3"}]},{"question":"question 4...","option":[{"id":"1","text":"opt1"},{"id":"2","text":"opt2"},{"id":"3","text":"opt3"},{"id":"4","text":"opt4"}]},{"question":"question 5...","option":[{"id":"1","text":"opt1"},{"id":"2","text":"opt2"},{"id":"3","text":"opt3"}]},]
Query
db.collection.aggregate([{"$sample":{"size":3}},{"$set":{"option":{"$function":{"body":"function (arr) {return arr.sort( () => Math.random()-0.5) ;}","args":["$option"],"lang":"js"}}}}])