Express router middleware running multiple times

My router for paginate display list runs 4 times when executed and req.doc becomes undefined.

I’ve checked the request method and url path and everything seems fine. Could the mongoose aggregate function be causing the route to run multiple times?

Code from my app.js file:

        var displayList = require('./routes/displayList.js');

        app.get('/display_list/:encoded_id', displayList); 

code from file displayList.js:

    router.get('/display_list/:encoded_id', function(req, response,err){

if(err){

    console.log(err);
}

var listName = req.params.encoded_id;



let perPage = 10;
let currentPage = 1;


if(req.query.page){

    currentPage = parseInt(req.query.page, 10);
}



let query = {};

const skip = 10 * (currentPage - 1);
const limit = perPage;



const {userContext}  = req;




   book_list.aggregate([{$facet: { "Books":[
       {"$match":{"userId": req.userContext.userinfo.sub}}, {"$unwind":"$newList"}, {"$unwind":"$newList.books"},
            {"$match":{"newList.list_name": listName}}, {$group: {_id: "$newList.books", count: { $sum: 1 },books: {$push: "$newList.books"}} },{$project: {books: 1, _id: 0}}, {$skip: skip}, {$limit: limit}
   ],
           //write code to get count of books in list
            "Count": [ {"$match":{"userId": req.userContext.userinfo.sub}}, {"$unwind":"$newList"}, {"$unwind":"$newList.books"},
            {"$match":{"newList.list_name": listName}}, {$group: {_id: "$newList.books", count: { $sum: 1 }} }, {$count: "Total"}] }},

       {$unwind: "$Books"}, {$addFields: {"Books.Total": {$arrayElemAt: ["$Count.Total", 0]}}},
       {$replaceRoot: {newRoot: "$Books"}}
           ]).exec(function(err, doc, res,req){

            if(err){
                console.log(err)
            }


               let totalPages = Math.ceil(doc[0].Total/10);


                   response.render('display_list', {
                       userContext,
                       list_books: doc, listName: listName, currentPage: 
                        currentPage, totalPages: totalPages
                   });


               });

            });



 module.exports = router;