微信小程序商城制作_node.js基于mongodb的查找分页

2021-01-12 14:49 jianzhan
node.js基于mongodb的搜索分页示例       本篇文章主要介绍了node.js基于mongodb的搜索分页示例,mongodb分页很简单,这里整理了详细的代码,有需要的小伙伴可以参考下。

页面布局 这里只需要搜索框和搜索按钮,再点击按钮时,执行search()方法并发送请求

代码如下:

 div 
 input type="text" id="txtSearch" placeholder="请输入项目名称" 
 button 搜索 /button 
 /div 
 script 
 var paginObj;
 //设置每页显示页码
 var pageSize = 20; 
 //设置当前页码为1
 var currentPage = 1;
 var condition = {'city': currentCityId, 'name': ''}
 jQuery(document).ready(function () {
 refresh();
 //获取查找条件
 function getCondition() {
 var name = $('#txtSearch').val();
 if (name name.trim()) {
 // {'$regex': name, '$options': 'i'}}为模糊查询固定语法,name为参数
 condition = {'city': currentCityId, 'name': {'$regex': name, '$options': 'i'}};
 else {
 condition = {'city': currentCityId}
 return condition;
 //刷新页面
 function refresh() {
 //查找内容
 $.get('/Manage/list/projects', {
 'pageSize': pageSize,
 'currentPage': currentPage,
 'condition': getCondition()
 }, function (result) {
 appendData(result.data);
//查找个数
 $.get('/Manage/listCount/projects', {'condition': condition}, function (result) {
 paginObj = new DataPagin(document.querySelector('.projects-list'), result.count, {
 'pageSize': pageSize,
 'changePageFun': rquestPageData
//重新分页
 function rquestPageData(currentPage, callback) {
 $.get('/Manage/list/projects', {
 'pageSize': pageSize,
 'currentPage': currentPage,
 'condition': getCondition()
 }, function (result) {
 appendData(result.data);
 if (callback) {
 callback();
//改变页码,显示相应的内容
 function changePage(paginObj, index) {
 paginObj.setPageNumber(index);
 function appendData(data) {
 //debugger;
 var list = $('.projects-list').children('tbody');
 ('');
 // 页面显示模板
 for (var i = 0; i data.length; i++) {
 .........
 //此部分自己定义

getList: function (collectionName, req, res, next) { var mainObj = transformCollctionName(collectionName); if (!mainObj) { next(); var options = req.query; var sort = options.sort || mainObj.defaultSort; var pageSize = options.pageSize || mainObj.defaultOptions.pageSize; var currentPage = options.currentPage || 1; var condition = options.condition || {} //此部分为查找条件 mainObj.find(condition).sort(sort).skip((currentPage - 1) * pageSize).limit(pageSize).exec(function (err, docs) { if (err) { next(err); return mon.returnData(true, docs)); countList: function (collectionName, req, res, next) { var mainObj = transformCollctionName(collectionName); if (!mainObj) { next(); var condition = req.query.condition || {} mainObj.find(condition).count().exec(function (err, docs) { if (err) { next(err); return res.json({'count': docs}); HandleEvent: function (collectionName, actionsName, req, res, next) { var mainFuns = getCollctionFuns(collectionName) if (!mainFuns) { next(); var fun = mainFuns[actionsName]; if (!fun) { next(); fun(req, res, next);

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。