Node.js nodejs mongodb中无模式的分页

Node.js nodejs mongodb中无模式的分页,node.js,mongodb,mongoose,pagination,Node.js,Mongodb,Mongoose,Pagination,我正试图对结果进行分页 但我看到到处都有人用猫鼬。 由于我的项目结构,我真的不能使用mongoose,因为我必须不断地动态更改数据库和集合 我就是这样做的 getTopWear: async (req, res) => { const client = new MongoClient(process.env.MONGODB_LOCAL_URI, { useUnifiedTopology: true, useNewUrlPars

我正试图对结果进行分页 但我看到到处都有人用猫鼬。 由于我的项目结构,我真的不能使用mongoose,因为我必须不断地动态更改数据库和集合

我就是这样做的

getTopWear: async (req, res) => {
        const client = new MongoClient(process.env.MONGODB_LOCAL_URI, {
            useUnifiedTopology: true,
            useNewUrlParser: true,
        });

        const page = parseInt(req.query.page);
        const limit = parseInt(req.query.limit);

        const startIndex = (page - 1) * limit;
        const endIndex = page * limit;

        const results = {};

        // if (endIndex < data.length) {
        //  results.next = {
        //      page: page + 1,
        //      limit: limit,
        //  };
        // }
        // if (startIndex > 0) {
        //  results.previous = {
        //      page: page - 1,
        //      limit: limit,
        //  };
        // }    

        try {
            await client.connect();

            const database = client.db("myntra");
            const collection = database.collection(req.query.item);
            // const items = await collection.find().toArray();
            results.results = await collection.find().limit(limit).skip(startIndex).toArray()
            res.status(200).json({
                requestedURL: req.query.item,
                message: "categories",
                results: results.length,
                data: results,
            });
            console.log(results);
            console.log(results.results.length);
            await client.close();
        } catch (e) {
            console.error(e);
        }
    },
getTopWear:async(请求、恢复)=>{
const client=new MongoClient(process.env.MONGODB_LOCAL_URI{
useUnifiedTopology:正确,
useNewUrlParser:true,
});
const page=parseInt(req.query.page);
const limit=parseInt(请求查询限制);
常量startIndex=(第1页)*限制;
const endIndex=页面*限制;
const results={};
//if(endIndex0){
//results.previous={
//第页:第1页,
//极限:极限,
//  };
// }    
试一试{
等待client.connect();
const database=client.db(“myntra”);
const collection=database.collection(req.query.item);
//const items=wait collection.find().toArray();
results.results=wait collection.find().limit(limit).skip(startIndex.toArray())
res.status(200).json({
requestedURL:req.query.item,
信息:“类别”,
结果:results.length,
数据:结果,
});
控制台日志(结果);
日志(results.results.length);
等待客户端。关闭();
}捕获(e){
控制台错误(e);
}
},
我得到了分页的结果,但是如果在没有得到数组的情况下,如何添加这两个条件呢