Node.js nodejs mongodb中无模式的分页
我正试图对结果进行分页 但我看到到处都有人用猫鼬。 由于我的项目结构,我真的不能使用mongoose,因为我必须不断地动态更改数据库和集合 我就是这样做的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
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);
}
},
我得到了分页的结果,但是如果在没有得到数组的情况下,如何添加这两个条件呢