亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

NodeJs操作MongoDB教程之分頁功能以及常見問題

2024-05-06 16:49:43
字體:
來源:轉載
供稿:網友

一,方法介紹

 1,聚合操作之count

count()方法可以查詢統計符合條件的集合的總數

1 db.User.count(<query>) // 此方法等價于 db.User.find(<query>).count()

在分布式集合中,會出現計算錯誤的情況,這個時候推薦使用aggregate;

 2,find() 方法以非結構化的方式來顯示所有文檔。

1 db.User.find();//相當于:select* from User;

3,exec() 方法用于檢索字符串中的正則表達式的匹配。(javascript方法)

4,sort() 方法對數據進行排序,sort() 方法可以通過參數指定排序的字段,并使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而 -1 是用于降序排列。

1 升序:db.User.find().sort({CreateTime: 1});2 降序:db.User.find().sort({CreateTime: -1});

5,skip()方法來跳過指定數量的數據,skip方法同樣接受一個數字參數作為跳過的記錄條數。

1 db.User.find().skip(2)//跳過2條

6,limit()方法接受一個數字參數,該參數指定從MongoDB中讀取的記錄條數。一般與skip連用

1 # limit()中number值為空時代表全部查出2 db.User.find().limit(2) #讀取的條數
1 # 常用在分頁方法中2 # 查詢User集合中,跳過前兩條記錄,每頁一條記錄3 > db.User.find().skip(2).limit(1)

二,封裝與接口拋出

2.1,分頁查詢

  1,根據查詢條件獲取總條數,使用count({},callback)方法

/** * 根據條件獲取有多少條數據 文檔數 * @param table_name 表名 * @param conditions 查詢條件 {a:1, b:2} * @param callback 回調方法 */MongoDbAction.getTotal = function (table_name, conditions, callback) { var node_model = this.getConnection(table_name); if (!node_model || node_model.message) { if (callback) callback(1, node_model) } else { node_model.find(conditions)  .count({})  .exec(function (err, total) {  if (err) {   if (callback) callback(err);  } else {   if (callback) callback(null, total);  }  }); }};

2,實現連寫查詢

 (1)這個可以用來做分頁,表示獲取從第1條(第1條記錄序號為0)記錄開始的10條記錄.類似與Mysql的limit 0, 10,如下:

{ limit:10,//pageSize skip:0//page:skip+1}

(2)按某個字段升序(1)降序(-1),如下 按照創建時間進行降序排列

sort: {CreateTime: -1},

(3)代碼連寫查詢實現:

/** * 連寫查詢 查詢多條數據 * @param table_name 表名 * @param conditions 查詢條件 {a:1, b:2} * @param options 選項:{fields: "a b c", sort: {time: -1}, limit: 10} * @param callback 回調方法 */MongoDbAction.whereCondition = function (table_name, conditions, options, callback) { var node_model = this.getConnection(table_name); if (!node_model || node_model.message) {  if (callback) callback(1, node_model) } else {  node_model.find(conditions)   .select(options.fields || '')   .sort(options.sort || {})//排序 //按某個字段升序(1)降序(-1)   .skip(options.skip || 0)//跳過的條數   .limit(options.limit || {})//查詢幾條   .exec(function (err, res) {    if (err) {     if (callback) callback(err);    } else {     if (callback) callback(null, res);    }   }); }};

3,根據所傳的參數實現分頁查詢

拋出分頁查詢的接口

//連寫查詢數據 包括分頁 獲取總條數router.put('/user/getSingleAndManyData', function (req, res) { var tableName = req.body.tableName;//'User' var IsEnable = req.body.IsEnable; var limit = req.body.pageSize; var sort = req.body.sort; var skip = req.body.page; let conditions = {  IsEnable } let options = {  sort: {CreateTime: sort},//排序  limit,//pageSize  skip:(limit*(skip-1))//page } // let options = { //  sort: {CreateTime: -1},//按某個字段升序(1)降序(-1) //  limit:10, //  skip:(limit*(skip-1))//skip=1=> skip:0 // } // 這個可以用來做分頁,表示獲取從第1條(第1條記錄序號為0)記錄開始的10條記錄.類似與Mysql的limit 0, 10 let data = {  httpCode: 200,  message: "查詢成功!",  status: 1,  data: null,  page:skip,  pageSize:limit }  MongoDbAction.getTotal(tableName,conditions, function (err, total) {  if (err) {   data.total=0   data.status = 0   data.message = "未查詢到數據!"   data.data = null   res.status(data.httpCode).json(data);  } else {   MongoDbAction.whereCondition(tableName,conditions,options, function (err, result) {    if (!err) {     data.total=total     data.data = result     res.status(data.httpCode).json(data);    } else {     data.total=0     data.status = 0     data.message = "未查詢到數據!"     data.data = result     res.status(data.httpCode).json(data);    }   });  } }); })

4,接口調用,返回的結果集如下:

NodeJs,MongoDB,分頁

三,常見問題

1,連接警告

警告:(node:204) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.

1 mongoose.connect(dbURL);// 連接數據庫 存在警告

NodeJs,MongoDB,分頁

解決辦法:連接配置添加: { useNewUrlParser: true }

1 mongoose.connect(dbURL,{useNewUrlParser:true});//連接數據庫

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲日韩欧美视频一区| yw.139尤物在线精品视频| 欧美一级电影在线| 青青青国产精品一区二区| 日韩精品中文字幕在线| 精品久久久久久久久久久| 欧美黑人国产人伦爽爽爽| 国产成人91久久精品| 国产一区二区三区在线免费观看| 国产综合视频在线观看| 蜜臀久久99精品久久久久久宅男| 欧美日韩激情小视频| 精品久久久久久久久久ntr影视| 欧美成人手机在线| 成人黄色在线免费| 91色精品视频在线| 日韩在线观看免费全| 97婷婷大伊香蕉精品视频| 日本久久亚洲电影| 国产精品91久久久| 国产99视频在线观看| 国产精品久久久久免费a∨| 在线播放国产一区二区三区| 青青草原成人在线视频| 日本韩国在线不卡| 亚洲欧美视频在线| 久久综合五月天| 亚洲色图35p| 欧美成人免费全部观看天天性色| 国产免费亚洲高清| 国产精品久久久久久超碰| 亚洲大胆人体视频| 国产日韩中文字幕| 国产一区二区三区三区在线观看| 久久成人亚洲精品| 这里只有精品在线观看| 欧美主播福利视频| 精品视频在线播放色网色视频| 97人人爽人人喊人人模波多| 成人黄色免费看| 国产精品99久久久久久久久| 黑人巨大精品欧美一区二区免费| 在线精品国产成人综合| 欧美国产日韩精品| 日韩美女中文字幕| 国产性色av一区二区| 欧美韩国理论所午夜片917电影| 亚洲女成人图区| 日韩av在线免费播放| 最近2019年日本中文免费字幕| 久久中文字幕国产| 亚洲色图国产精品| 国产精品视频公开费视频| 成人在线精品视频| 精品国产31久久久久久| 亚洲网站视频福利| 国产精品欧美日韩久久| 国内外成人免费激情在线视频网站| 日韩视频免费看| 久久久国产一区二区| 色偷偷偷亚洲综合网另类| 亚洲欧美日韩精品久久亚洲区| 欧美成人一区二区三区电影| 不卡av电影在线观看| 久久手机精品视频| 日韩精品一区二区视频| 日韩欧美精品中文字幕| 亚洲精品www久久久久久广东| 国产成人a亚洲精品| 日韩av男人的天堂| 欧美人交a欧美精品| 亚洲精品自拍第一页| 成人观看高清在线观看免费| 91亚洲va在线va天堂va国| 色婷婷久久一区二区| 亚洲国产精品久久久久久| 欧美成人中文字幕在线| 性欧美xxxx交| 日韩国产精品视频| 国产亚洲a∨片在线观看| 亚洲天堂男人天堂女人天堂| 在线亚洲午夜片av大片| 日韩电影中文字幕在线| 久久精品久久久久久国产 免费| 久久精品国产视频| 亚洲欧洲一区二区三区久久| 中文字幕成人在线| 国产精品自产拍在线观看中文| 国产999视频| 欧美日韩国产一区二区| 欧美激情高清视频| 91成人在线观看国产| 国产成人精品优优av| 亚洲美女www午夜| 性色av一区二区咪爱| 国产一区视频在线| 国产亚洲一级高清| 欧美在线播放视频| 欧美视频中文字幕在线| 亚洲影视中文字幕| 久久久噜噜噜久久中文字免| 欧美中文字幕视频在线观看| 成人a视频在线观看| 视频一区视频二区国产精品| 欧美国产高跟鞋裸体秀xxxhd| www高清在线视频日韩欧美| 国产成人精品a视频一区www| 国产不卡在线观看| 精品成人国产在线观看男人呻吟| 色黄久久久久久| 狠狠躁夜夜躁久久躁别揉| 色婷婷综合成人| 亚洲视频电影图片偷拍一区| 欧美激情视频播放| 亚洲社区在线观看| 亚洲男人第一av网站| 91在线看www| 欧美极品少妇xxxxⅹ免费视频| 亚洲色图17p| 中文字幕综合一区| 国产在线观看91精品一区| 久久五月天色综合| 国产精品白嫩美女在线观看| 亚洲香蕉av在线一区二区三区| 亚洲欧美日韩久久久久久| 亚洲黄一区二区| 中文字幕在线看视频国产欧美| 欧美在线视频观看| 欧美俄罗斯性视频| 欧美性猛交xxxxx免费看| 国产自产女人91一区在线观看| 亚洲欧美日韩国产中文| 欧美一级bbbbb性bbbb喷潮片| 日韩不卡中文字幕| 亚洲成人动漫在线播放| 欧美一级大片在线免费观看| 国产成人福利夜色影视| 亚洲人成在线一二| 国产乱肥老妇国产一区二| 国产精品第二页| 欧美一区二粉嫩精品国产一线天| 亚洲国产精品小视频| 日韩成人xxxx| 欧美老女人性生活| 国产精品久久久久久久久男| 精品夜色国产国偷在线| 日韩中文字幕网址| 成人激情免费在线| www国产亚洲精品久久网站| 国产一区二区精品丝袜| 欧美性xxxxx极品娇小| 欧美福利视频在线| 亚洲男人av在线| 久久久国产成人精品| 国内精品美女av在线播放| 成人亚洲激情网| 51久久精品夜色国产麻豆| 5566日本婷婷色中文字幕97| 在线播放日韩av| 欧美国产日韩中文字幕在线| 国产精品久久久久久久久免费看| 精品无人国产偷自产在线| 午夜精品久久久久久久久久久久| 欧美日产国产成人免费图片|