在 Express 中利用 Mongoose 操作 Mongodb
安装mongoose (相当于关系数据库中的驱动) npm i mongoose --save 连接数据库
第一个js文件
const mongoose = require('mongoose');
mongoose.connect(
'mongodb://localhost:27017/mydb181101',
{useNewUrlParser:true} //使用解析器来解析本次连接
);
module.exports = mongoose;
第二个js文件
let mongoose = require('./conndb'); //引入连接数据库的代码 //创建集合users对应的模板(相当于表结构,在nodejs里创建一个表结构)
let userSchema = new mongoose.Schema({ 'userName':String, 'userPass':String });
//模型(把数据库中集合users和模板进行对应和绑定)
let UserModel = mongoose.model('users',userSchema);
1.
const mongoose = require("./conndb");
// 定义一个模型(结构)
let vipsSchema = new mongoose.Schema({
userName: String,
userPass: String
});
// 把结构和集合对应起来
let vipsModel = mongoose.model("vips", vipsSchema);
module.exports = {
add: function (vipObj,success,fail) {
// 创建实例
let obj = new vipsModel(vipObj);
// 插入到数据库
obj.save((err, data) => {
if (err) {
console.log("出错了", err);
fail();
} else {
console.log(data);
success();
}
});
},
find: function (obj,success,fail) {//查
console.log("vips.find");
// vipsModel.find("查询条件",回调函数);
vipsModel.find(obj,(err,data)=>{
console.log("ddddd");
if(err){
console.log("err",err);
fail();
}else{
success(data);
}
});
},
removeUser:function(obj,success,fail){//删
UserModel.remove(obj,(err,data)=>{
if(err){
fail&&fail();
}else{
success&&success(data);
}
});
},
updateUser:function(condationObj,updateObj,success,fail){//改
UserModel.update(condationObj,updateObj,(err,data)=>{
if(err){
fail&&fail();
}else{
success&&success(data);
}
});
}
}
}
//
routes下js文件 查询
vips.find({userName:username,userPass:userpass},(data)=>{
if(data.length==0){
res.render("login",{msg:"登录失败!用户名或密码不正确"});
}else{
res.redirect("/index.html");
}
},()=>{
res.render("login",{msg:"登录失败!连接出错"});
});
2.
const mongoose = require("./conndb");
// 定义一个模型(结构)
let vipsSchema = new mongoose.Schema({
userName:String,
userPass:String
});
// 把结构和集合对应起来
let vipsModel = mongoose.model("vips",vipsSchema);
// 创建实例
let obj = new vipsModel({
userName:"宝宝",
userPass:"123"
});
// 插入到数据库
obj.save((err,data)=>{
if(err){
console.log("出错了",err);
}else{
console.log(data);
}
});