【发布时间】:2018-03-26 15:51:26
【问题描述】:
我需要从 mongodb 获取 1000 条记录,如何在节点 js 中执行此操作? 我尝试通过将限制发送到 1000 来使用分页,即使返回响应需要 25 秒,那么还有其他方法可以最大限度地减少响应时间吗?
exports.getAll = function(filters, sort, skip, limit, callback) {
let query = {
removed: false
};
let filter = {};
let options = {
sort: []
};
req.skip = 0;
options.limit = 10000
options.sort = [
['_id', 'desc']
];
collections.findItems(query, filter, options, (err, result) => {
if (err) {
logger.error('db error', err);
return callback('Something went wrong');
}
callback(null,result);
});
};
exports.getAll = function getAll(req, res, next) {
service.getAll(req.body.filters, req.body.sort, req.body.skip, req.body.limit, (err, data) => {
if (err) {
return next({
status: 400,
error: err
});
}
res.json(data);
});
};
【问题讨论】:
-
能不能也分享一下
findItems的方法,也很有帮助? -
@FarhanTahir 我已经更新了代码
-
我在下面添加了一个答案,希望对您有所帮助。 stackoverflow.com/a/49486427/8674173
-
你需要 mongodb 吗?如果我错了,请纠正我,但这听起来你想要性能,而 mongodb 很棒,因为它是定制的,而不是性能......
标签: node.js mongodb pagination