Database
[{"_id":{"m":1,"y":2020},"meals":[{"name":"Sandwich","servings":2},{"name":"Fish","servings":7},{"name":"Pizza","servings":3},{"name":"Beef","servings":3},{"name":"Soup","servings":3}]},{"_id":{"m":12,"y":2018},"meals":[{"name":"Beef","servings":1},{"name":"Spaghetti","servings":2}]}]
Query
db.collection.aggregate([{"$project":{"meals":{"$slice":[{"$function":{"body":"function(updates) { updates.sort((a, b) => b.servings - a.servings); return updates;}","args":["$meals"],"lang":"js"}},3],},},},])