if limit > 0:
            pipeline = [{"$match": query}, {"$limit": limit}, {"$skip": skip}, lookup, {"$project": projection}]
        else:
            pipeline = [{"$match": query}, {"$skip": skip}, lookup, {"$project": projection}]