I have added the following block after the pipeline and before the try: statement and the result is failure, perhaps someone has had better luck?
Ticket: Faceted Search
Please append the skip_stage, limit_stage, and facet_stage to the pipeline (in that order). The pipeline is a Python array, so you can use append() or extend() to complete this task. """ # TODO: Faceted Search # Add the necessary stages to the pipeline variable in the correct order. pipeline =  pipeline.extend([skip_stage,limit_stage,facet_stage]) try: movies = list(db.movies.aggregate(pipeline, allowDiskUse=True)) count = list(db.movies.aggregate(counting, allowDiskUse=True))[ 0].get("count") return (movies, count) except OperationFailure: raise OperationFailure( "Results too large to sort, be more restrictive in filter")**