Node.js、express、mongodb 实现分页查询、条件搜索
前言
在上一篇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 实现分页查询、条件搜索相关推荐
- Node.js Express+Mongodb 项目实战
Node.js Express+Mongodb 项目实战 这是一个简单的商品管理系统的小项目,包含的功能还算挺全的,项目涵盖了登录.注册,图片上传以及对商品进行增.删.查.改等操作,对于新手来说是个很 ...
- Node.js+Express+MongoDB 实现学生增删改查
前言 选用Node.js,Express,MongoDB来实现一个学生信息的增删改查. Express框架搭建服务器 art-template模板实现页面 MongoDB数据库 Mongoose操作数 ...
- 从零开始搭建Node.js, Express, Ejs, Mongodb服务器
http://www.toolmao.com/nodejs-express-ejs-mongodb-server 本文改自非鱼的<[翻译]前端开发人员入门指南,从零开始搭建Node.js, Ex ...
- Node.js毕业设计——基于Node.js+JavaScript+MongoDB的供求信息网站设计与实现(毕业论文+程序源码)——供求信息网站
基于Node.js+JavaScript+MongoDB的供求信息网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Node.js+JavaScript+MongoDB的供求信息网站设计 ...
- 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(三)
前篇 使用React.Node.js.MongoDB.Socket.IO开发一个角色投票应用的学习过程(一) 使用React.Node.js.MongoDB.Socket.IO开发一个角色投票应用的学 ...
- 如何在Ubuntu 18.04上使用Node.js和MongoDB构建和部署GraphQL服务器
The author selected the Wikimedia Foundation to receive a donation as part of the Write for DOnation ...
- 使用React、Node.js、MongoDB、Socket.IO开发一个角色投票应用的学习过程(一)
这几篇都是我原来首发在 segmentfault 上的地址:https://segmentfault.com/a/1190000005040834 突然想起来我这个博客冷落了好多年了,也该更新一下,呵 ...
- Node.js读取mongoDB并输出json数据
一个简单的示例: Node.js读取mongoDB并输出json数据 此源码是 1.读取mongoDB的数据,简单封装node mongodb Native驱动 2.包含模块如何编写 3.把JSON数 ...
- TWaver HTML5 + Node.js + express + socket.io + redis(六)
接上一篇TWaver HTML5 + Node.js + express + socket.io + redis(五), 这一篇将讲解如何用模版生成html页面, 如何验证用户登录, 您将了解到: 1 ...
- SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上试读版
一套适合 SAP UI5 初学者循序渐进的学习教程 教程目录 SAP UI5 本地开发环境的搭建 SAP UI5 应用开发教程之一:Hello World SAP UI5 应用开发教程之二:SAP U ...
最新文章
- 人机猜拳(这是最近的一个总结)
- .Net QQ互联教程
- 计算机视觉开源库OpenCV之照明和色彩空间
- 华为云RTC服务架构及应用实践
- 星梦缘陈彦妃_浙江舟山80后女演员,2003年出演偶像剧《星梦缘》,还是专业模特...
- 一个小白的转行Python的经历!
- NEON在Android中的使用举例【转】
- C++/测绘附和导线测量源码
- 超级玛丽制作揭秘8跟踪打印 类FILEREPORT
- 【数据库】SQL server 启用IFI 功能
- Web3.0世界知识体系分享-免费自动批量生成NFT图片和批量部署NFT
- 信用修复的社会意义及基本概念、要素?
- 一段话加省略号怎么写html,HTML 应用 文字省略号的表示
- 初探iOS项目使用MVP模式
- Codeforces 106C Buns 【0-1背包】
- linux下对文件和文件夹加密
- USACO 刷水记录
- 计算机弹钢琴的音乐音符,钢琴音乐谱曲基础知识
- HTC 重力感应传感器编程资料总结
- 教你如何利用php.exe运行php文件