node.js - 使用nodejs和mongoDB作为后端数据进行延迟加载

标签 node.js mongodb load lazy-evaluation

我们的馆藏约有 1 亿份文档。我们使用nodejs和expressjs创建了一个简单的应用程序,并在mongo查询中使用了限制子句。对于目前的用户来说已经足够了。同时,我们正在尝试实现延迟加载,以便初始页面加载返回很少的文档,并且当用户滚动时我们希望加载更多文档。纠结从哪里开始以及如何继续实现。感谢您的建议。 我的 index.js 文件看起来像这样

router.get('/users', function(req, res) {
  var db = req.db; 
  var users = db.get('users'); 

  users.find(query, {limit: 10000}, function(e, docs){
    res.render('users', { 
      title: 'Users',
      'users': docs  
    });
  });
});

我想删除限制并使用skip尝试实现此目的。 请发表您的建议

最佳答案

This应该有帮助。它使用 .find() 游标的 .skip 方法。我称之为分页而不是延迟加载。

var itemsPerPage = 10;

router.get('/users/:pageNum', function(req, res) {
  var db = req.db; 
  var users = db.get('users'); 
  users.find(query, {skip: (itemsPerPage * (pageNum-1)), limit: itemsPerPage},function(e, docs){
    res.render('users', { 
      title: 'Users',
      'users': docs  
    });
  });
});

关于node.js - 使用nodejs和mongoDB作为后端数据进行延迟加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30253287/

相关文章:

node.js - yargs .check()错误处理

java - 在 Java 中使用 mongoDB 更新数据

spring - 使用 Spring Boot >= 2.0.1.RELEASE 将 ZonedDateTime 保存到 MongoDB 时出现 CodecConfigurationException

mongodb - Mongorestore 到不同的数据库

javascript - 如何在 Canvas 中绘制从页面加载的图像

PHP post请求通过动态传递值

node.js - 快速 session 不删除以前的 session

javascript - 你如何使用 browserify 从 node_modules 加载 typescript 模块?

jQuery:与 NProgess 类似的 Loading 效果

c++ - 无法从 C DLL 调用函数