免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
nodejs+mongodb實現(xiàn)curd 登錄 注銷 分頁等功能的實現(xiàn)過程
      e page.
 */
//取得一個集合中的所有數據并實現(xiàn)分頁效果,這里我們還處理session的登錄判斷等
    exports.index = function(req, res){        var mongodb = require('mongodb');          var page = req.params.page;  //取得page的值,注意route中的配置,可以有可以沒有這個page        var total; //分頁的總數        var pagenum =4; //分頁的條數        if(page){          page = page;        }else{          page = 1;        }                mongodb.connect('mongodb://localhost:27017/test',function(err,conn){          conn.collection('test_insert',function(err,coll){              //這里是取得分頁的總數(筆者最開始在這里的時候用的是coll.count()取總數,結果可想而知,所以取總數大家一定要注意)              coll.count(function(err,count){                  total = count;              })              //這里用limit+skip實現(xiàn)mongodb的分頁效果,這種寫法對于大數據量的分頁來說不合適,但是為了方便就這樣了              //下面是整個的過程,實現(xiàn)了分頁實現(xiàn)一個集合中的所有數據              //在nodejs連接mongodb的時候判斷是否查詢出了數據的時候我們用toArray方法獲得的第二個參數來判斷              coll.find().limit(pagenum).skip(pagenum*(page-1)).toArray(function(err,results){                  if(results.length){                    if(page==1){                      var prevpage = page;                    }else{                      var prevpage = page-1;                    }                                          if(page == Math.ceil(total/pagenum)){                      var nextpage = Math.ceil(total/pagenum);                    }else{                            //這里要注意下,在對next的時候一定要對page加parseInt方法,不然他會按照字符串來相加,至于為什么,目前我也不清楚,但是只要加了parseInt就是正確的了                      var nextpage = parseInt(page)+1;                    }                                res.render('index',                      {                          title:'123',                          username: req.session.username,                          allIndexs:results,                          prevpage:prevpage,                          nextpage:nextpage                          //page: "<a href='/"+prevpage+"'>prev</a>   <a href='/"+nextpage+"'>next</a>"                      }                           );                  }else{                      console.log('沒有任何數據');                  }                  conn.close();  //每次執(zhí)行完后都要把鏈接給關掉(注意關掉的位置,不能放在collection的時候就關閉,不然上面的數據永遠取不到)              })          })        });      };  


//向一個集合中插入數據

    exports.insert = function(req,res){        var mongodb = require('mongodb');        mongodb.connect('mongodb://localhost:27017/test',function(err,conn){          conn.collection('test_insert',function(err,coll){              //這里的req.body.username是根據method數據發(fā)過來的方法獲得的              //使用mongodb插入數據的時候,我們可以在后面放一個回調方法來判斷數據是否插入成功              coll.insert({"username":req.body.username,"password":req.body.password},function(err,results){                  if(results.length){                      res.redirect('/');                  }else{                      res.redirect('/users');                  }                  conn.close();              })          })              })        console.log(req.body.username)      };  



//登錄方法,并且保存session,好在ejs中做判斷是否登錄成功
    exports.login = function(req,res){          var username = req.body.username;          var password = req.body.password;          var mongodb = require('mongodb');          mongodb.connect('mongodb://localhost:27017/test',function(err,conn){              conn.collection('test_insert',function(err,coll){                  coll.find({'username':username,'password':password}).toArray(function(err,results){                      if(results.length){                          console.log('success');                          req.session.username = username;                          res.redirect('/');                              }else{                          console.log('error');                          res.redirect('/notlogin');                      }                          conn.close();                  })              })          })      };  

//刪除一個集合中的方法
    exports.del = function(req,res){          var mongodb = require('mongodb');          var id = req.params.id;          var mongoid = mongodb.BSONPure.ObjectID(id); //nodejs里面吧mongodb的id轉化為ObjectID          mongodb.connect('mongodb://localhost:27017/test',function(err,conn){              conn.collection('test_insert',function(err,coll){                  //這里的刪除方法來判斷數據成功與否,筆者試過了上面用toArray方法和直接在后面更回調函數的方法都不能判斷,所以加了if判斷                  //這里希望大家有什么好的實現(xiàn)方法說下,畢竟這種方法看起不怎么爽                  if(coll.remove({'_id':mongoid})){                      console.log('恭喜你刪除成功');                      res.redirect('/')                  }else{                      console.log('刪除失敗');                      res.redirect('/')                  }                  conn.close();              })          })      }  



//更新數據
    exports.update = function(req,res){          var mongodb = require('mongodb');          var id = req.params.id;           //nodejs里面吧mongodb的id轉化為ObjectID          mongodb.connect('mongodb://localhost:27017/test',function(err,conn){              conn.collection('test_insert',function(err,coll){                  //下面判斷id是否存在,存在的話就顯示更新的數據的模板,否則就更新代碼                  if(id){                      var mongoid = mongodb.BSONPure.ObjectID(id);                      coll.find({'_id':mongoid}).toArray(function(err,results){                          if(results.length){                              console.log('success');                              console.log(results);                              res.render('update', { 'oneResult':results });                          }else{                              console.log('error');                          }                          conn.close();                      })                  }else{                      var username = req.body.username;                      var password = req.body.password;                      var mongoid = mongodb.BSONPure.ObjectID(req.body.id);                      //這里的更新也一樣,不知道怎么做判斷更新是否成功,所以干脆就這樣寫了                      coll.update({'_id':mongoid},{'$set':{'username':username,'password':password}});                      res.redirect('/');                      conn.close();                  }              })          })      }  

//清空session
    exports.logout = function(req,res){          req.session.username='';  //清空session          res.redirect('/');      }  

 

打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服