mongoos实现用户注册
转载1:安装mongoos
npm install mongoose --save
2: 引入和使用
建一个用于公共连接 文件db.js
写入代码
var mongoose = require("mongoose");
var DB_URL = "mongodb://localhost:27017/1905";
mongoose.connect(DB_URL,{useNewUrlParser: true });
//状态的监听
mongoose.connection.on("connected",function () {
console.log("连接成功");
});
mongoose.connection.on("error", function (err) {
console.log(err);
});
mongoose.connection.on("disconnected", function () {
console.log("连接断开");
});
//导出方便其他地方使用
module.exports = mongoose;
2:建立一个文件user.js 作为userinfo表的数据模型 为后面做增删改查做示例和规范说明
因为普通的mongo无法对数据类型做规范 但是mongoose是可以的
var mongoose = require("./db.js");
var schema = mongoose.Schema; //模型生成器(表生成器)
//建立表 并且指定字段
var userSchema = new schema({
username: String,
userpwd: String,
userage: Number,
logindate: Date
});
//转成数据模型导出
module.exports = mongoose.model("userinfo", userSchema);
3:建立一个user对象 用来做对象的统一操作 方法集中化
var Userinfo = require("./userModel.js");
var user = {
//接受对象 然后写入数据库
register: function (obj) {
var p = new Promise(function (resolve, reject) {
var user = new Userinfo(obj);
user.save(function (err, res) {
if (err) {
// console.log(err);
reject(err);
} else {
// console.log(res)
resolve(res);
}
});
})
return p;
},
login: function () {
},
list: function () {
},
delById: function () {
}
};
module.exports = user;
4:前面页面构建注册页面 里面有jq代码如下
用户名:<input id="username" name="username"><br>
密码:<input id="userpwd" name="userpwd"><br>
年龄:<input id="userage" name="userage"><br>
<button id="btn" type="submit">注册button>
$("#btn").click(function () {
$.ajax({
type: "get",
url: "/users/registerUserinfo",
data: {
username: $("#username").val(),
userpwd: $("#userpwd").val(),
userage: $("#userage").val()
},
success: function (data) {
alert(data);
// window.location = "/users/list";
}
})
})
5:后台对应的接口/users/registerUserinfo写入如下代码
接受参数 返回结果
router.get("/registerUserinfo", function (req, res, next) {
res.writeHead(200, {
"Content-type": "text/html;charset=UTF-8"
});
var userinfo = {
username: req.query.username,
userpwd: req.query.userpwd,
userage: req.query.userage,
logindate: new Date()
}
user.register(userinfo).then(function (data) {
console.log(data);
res.write("成功");
res.end();
}, function (data) {
console.log(data);
res.write("失败");
res.end();
});
});
6
补充业务逻辑 用户名注册时 用户名应该检查是否存在
7:注册代码如下
user.findUserByName(req.query.username).then(function (num) {
if (num > 0) {
res.write("用户名已经存在");
res.end();
} else {
user.register(userinfo).then(function (data) {
console.log(data);
res.write("成功");
res.end();
}, function (data) {
console.log(data);
res.write("失败");
res.end();
});
}
}, function () { //如果用户存在
res.write("数据异常");
res.end();
})
8:密码进行加密处理
var username = req.query.username;
var userpwd = req.query.userpwd;
var userage = req.query.userage;
var md5 = crypto.createHash("md5"); //引入MD5加密模式
var userinfo = {
username: username,
userpwd: md5.update(userpwd).digest("hex"), //对密码进行加密
userage: userage,
logindate: new Date()
}
注册就完成了
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:iOS文件系统的管理-b
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
eggjs 怎么实现用户注册功能?
什么是用户鉴权用户鉴权,一种用于在通信网络中对试图访问来自服务提供
eggjs 数据库 数据 mysql -
springboot实现用户注册 springboot注册服务
40.0、springboot-服务注册开发实战初体验【初体验】【注意嗷~】:写这个项目前要先安装配置好zookeeper和dubbo。不太了解这个,或者不会安装的同学可以先去我的专栏《springboot学习总结》看看《39.0、zookeeper和dubbo的安装》很详细~ 首先咱们创建两个springboot
springboot实现用户注册 简单服务注册开发 zookeeper dubbo springboot