前言

在上一篇Node.js、express、mongodb 入门(基于easyui datagrid增删改查) 的基础上实现了分页查询、带条件搜索。

实现效果

1、列表第一页。

2、列表第二页

3、条件搜索

分页实现

1、分页实现使用了Mongodb的query.skip().limit().where() 这三个方法,然后利用query.exec()。

2、我在页面使用的是easyui datagrid,从datagrid往后台传page和rows是用POST方式传,我刚开始用req.params.page没拿到数据,后使用req.body.page和req.body.rows拿到page和rows, 拿前台查询条件一样类似处理。

3、计算分页条件。 从前台拿到的page默认是从1开始的,所以计算Skip的参数为(page-1)*rows。

4、往前台返回数据时不仅要返回分页后的数据,还要返回所有数据的总数(Length), 因为easyui datagrid的数据源需要。即:

jsonArray={rows:rs,total:result.length};
res.json(jsonArray);

实现代码

/****************************
get paged list
************************/
router.post('/index/pagelist',function(req,res){var count=0;var page=req.body.page;var rows=req.body.rows;var stuname=req.body.username;console.log(stuname);console.log("page:"+page+",rows:"+rows);var query=student.find({});query.skip((page-1)*rows);query.limit(rows);if(stuname){query.where('stuname',stuname);}//计算分页数据query.exec(function(err,rs){if(err){res.send(err);}else{//计算数据总数student.find(function(err,result){jsonArray={rows:rs,total:result.length};res.json(jsonArray);});}});});

参考资料

1、http://www.cnblogs.com/caiya928/p/4776437.html。

2、http://www.nonb.cn/blog/nodejs-mongoose-query-chinaese.html

Node.js、express、mongodb 实现分页查询、条件搜索相关推荐

  1. Node.js Express+Mongodb 项目实战

    Node.js Express+Mongodb 项目实战 这是一个简单的商品管理系统的小项目,包含的功能还算挺全的,项目涵盖了登录.注册,图片上传以及对商品进行增.删.查.改等操作,对于新手来说是个很 ...

  2. Node.js+Express+MongoDB 实现学生增删改查

    前言 选用Node.js,Express,MongoDB来实现一个学生信息的增删改查. Express框架搭建服务器 art-template模板实现页面 MongoDB数据库 Mongoose操作数 ...

  3. 从零开始搭建Node.js, Express, Ejs, Mongodb服务器

    http://www.toolmao.com/nodejs-express-ejs-mongodb-server 本文改自非鱼的<[翻译]前端开发人员入门指南,从零开始搭建Node.js, Ex ...

  4. Node.js毕业设计——基于Node.js+JavaScript+MongoDB的供求信息网站设计与实现(毕业论文+程序源码)——供求信息网站

    基于Node.js+JavaScript+MongoDB的供求信息网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Node.js+JavaScript+MongoDB的供求信息网站设计 ...

  5. 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(三)

    前篇 使用React.Node.js.MongoDB.Socket.IO开发一个角色投票应用的学习过程(一) 使用React.Node.js.MongoDB.Socket.IO开发一个角色投票应用的学 ...

  6. 如何在Ubuntu 18.04上使用Node.js和MongoDB构建和部署GraphQL服务器

    The author selected the Wikimedia Foundation to receive a donation as part of the Write for DOnation ...

  7. 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(一)

    这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000005040834 突然想起来我这个博客冷落了好多年了,也该更新一下,呵 ...

  8. Node.js读取mongoDB并输出json数据

    一个简单的示例: Node.js读取mongoDB并输出json数据 此源码是 1.读取mongoDB的数据,简单封装node mongodb Native驱动 2.包含模块如何编写 3.把JSON数 ...

  9. TWaver HTML5 + Node.js + express + socket.io + redis(六)

    接上一篇TWaver HTML5 + Node.js + express + socket.io + redis(五), 这一篇将讲解如何用模版生成html页面, 如何验证用户登录, 您将了解到: 1 ...

  10. SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上试读版

    一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...

最新文章

  1. 人机猜拳(这是最近的一个总结)
  2. .Net QQ互联教程
  3. 计算机视觉开源库OpenCV之照明和色彩空间
  4. 华为云RTC服务架构及应用实践
  5. 星梦缘陈彦妃_浙江舟山80后女演员,2003年出演偶像剧《星梦缘》,还是专业模特...
  6. 一个小白的转行Python的经历!
  7. NEON在Android中的使用举例【转】
  8. C++/测绘附和导线测量源码
  9. 超级玛丽制作揭秘8跟踪打印 类FILEREPORT
  10. 【数据库】SQL server 启用IFI 功能
  11. Web3.0世界知识体系分享-免费自动批量生成NFT图片和批量部署NFT
  12. 信用修复的社会意义及基本概念、要素?
  13. 一段话加省略号怎么写html,HTML 应用 文字省略号的表示
  14. 初探iOS项目使用MVP模式
  15. Codeforces 106C Buns 【0-1背包】
  16. linux下对文件和文件夹加密
  17. USACO 刷水记录
  18. 计算机弹钢琴的音乐音符,钢琴音乐谱曲基础知识
  19. HTC 重力感应传感器编程资料总结
  20. 教你如何利用php.exe运行php文件

热门文章

  1. 从零开始学MySQL(四)
  2. JPA Example查询
  3. 原生js写简单轮播图方式1-从左向右滑动
  4. C#基础回顾(一)—C#访问修饰符
  5. SQL还原数据库剔除占用
  6. position的absolute;fixed;relative;static;inherit属性小结
  7. Foundation框架: 6.NSString的创建和导出
  8. -webkit-filter
  9. 一个canvas的demo
  10. spring4.x的一些新特性