Nodejs 做后台完整业务案例(2)

if(err){
          res.send("-5");//随便去,服务器错误
          return;
      }
      if(result.length == 0){
          res.send("-1");//用户名不存在
          return;
      }
      if(userpassword_handel == result[0].userpassword){
          req.session.login = "1";
          req.session.username= username;
          req.session.uid = result[0]._id;
          console.log(req.session.uid, "login", Math.floor(new Date().getTime()/1000));
          res.send("1");
          return;
      }else{
          res.send("-2");//密码错误
          return;
      }
    });
  })
}


// get 请求的一个方式

//访问首页
exports.index = function (req,res,next) {
  console.log("router: [/]:exports.index");
  var login    = req.session.login;
  var username = req.session.username;
  var userinfo = util.getLoginUser(req);
  // 渲染一个页面,将相关的数据渲染到页面上 res.render('url',{data})
  res.render('index',{ // index 是一个页面转到 5
    userinfo:{'login':login,'username':username}
  })
}

4、上面引入的 db.js 是有关操作数据库的操作,对原始的mongdb 的语法,做了一下封装。

//这个模块里面封装了所有对数据库的常用操作
var MongoClient = require('mongodb').MongoClient;
var config = require("../config.js");
//不管数据库什么操作,都是先连接数据库,所以我们可以把连接数据库
//封装成为内部函数
function _connectDB(callback) {
    var url = config.dburl;  //从 config.js 文件中,都数据库地址
    //连接数据库
    MongoClient.connect(url, function (err, db) {
        if (err) {
            callback(err, null);
            return;
        }
        callback(err, db);
    });
}

//插入数据
exports.insertOne = function (collectionName, json, callback) {
    _connectDB(function (err, db) {
        db.collection(collectionName).insertOne(json, function (err, result) {
            callback(err, result);
            db.close(); //关闭数据库
        })
    });
};
// insertmany
exports.insertMany = function(cname, arr){
    _connectDB(function (err, db) {
        db.collection(cname).insertMany(arr, function (err, result) {
            db.close();
        });
    });
}
exports.removeAll = function(cname, cb){
    _connectDB(function (err, db) {
        db.collection(cname).deleteMany({}, function (err, result){
            cb(err, result);
            db.close();
        });
    });
}
//查找数据,找到所有数据。args是个对象{"pageamount":10,"page":10}
exports.find = function (collectionName, json, C, D) {
    var result = [];    //结果数组
    if (arguments.length == 3) {
        //那么参数C就是callback,参数D没有传。
        var callback = C;
        var skipnumber = 0;
        //数目限制
        var limit = 0;
    } else if (arguments.length == 4) {
        var callback = D;
        var args = C;
        //应该省略的条数
        var skipnumber = args.pageamount * args.page || 0;
        //数目限制
        var limit = args.pageamount || 0;
        //排序方式
        var sort = args.sort || {};
    } else {
        throw new Error("find函数的参数个数,必须是3个,或者4个。");
        return;
    }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f7b3c2b20207afc16b13b17f5cb74ec6.html