【发布时间】:2017-10-11 01:28:04
【问题描述】:
我正在尝试将服务器端分页添加到 NodeJS、Express 和 MongoDB API。 API 使用猫鼬来处理数据库。我不知道如何自定义控制器的响应。
型号:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const clientSchema = Schema({
code: {
type: String,
required: [true,'Code no puede estar vacio']
},
name: {
type: String,
required: [true,'Name no puede estar vacio']
}
},{
timestamps: true
});
const Client = module.exports = mongoose.model('clients',clientSchema);
获取所有客户端的控制器:
const mongoose = require("mongoose");
const Client = require('../models/client');
const clientController = {};
clientController.index = (limit, callback) => {
Client.find(callback).limit(limit);
};
module.exports = clientController;
获取客户的路线:
app.get('/api/clients', (req, res) => {
Client.index(limit,(err, client) => {
if (err) {
res.status(500).json({
msg: "Error en aplicacion",
err
});
}
res.status(200).json(client);
});
});
如何将控制器中的结果自定义为如下内容:
[
{
"totalRecords":"99999999999",
"offset":"888888",
"page":"4",
"nextPage":"5"
"result":{...}
}
]
我已经有了一个计算分页的函数,但是我不知道如何在控制器的结果中添加关于分页的信息。
在我在路由中添加分页数据之前,但我想在控制器中处理分页逻辑。
还是更好地处理路由中的分页?
提前致谢
【问题讨论】:
-
也许我制作的 Mongoose Repository 类可以帮助你解决这个问题npmjs.com/package/morepo
标签: node.js mongodb express mongoose