1 安装mongoose
npm install mongoose
2 应用程序中只使用一个数据库(使用)
A. 分层设计
我们分析mongoose的连接mongodb的程序可以知道,连接过程可以分为以下几层:
i. 数据库配置
ii. 连接数据库
iii. 建立schema
iv. 建立model
v. 操做mongodb
B. 根据上面的分层我们来实现程序代码
i. 数据库配置(dbProperties.js)
exports.dbname='sadb'//数据库名
exports.dbip='localhost'//ip地址
exports.dbusername=''//数据库用户名
exports.dbpassword=''//数据库密码
ii. 连接数据库(mongodbCon.js)
var mongoose=require('mongoose');
var dbProperties=require('../../dbProperties/dbProperties.js');
var dburl='mongodb://'+dbProperties.dbip+'/'+dbProperties.dbname
mongoose.connect(dburl,function(err){
console.log('dburl='+dburl);
if(!err){
console.log('connected to MongoDB');
}else{
throw err;
}
})
module.exports=mongoose
iii. 建立schema(userSchema.js)
var mongoose=require('../mongodbCon.js');
var Schema=mongoose.Schema;
//骨架模板
module.exports.userSchema=new Schema({
username:String, //用户姓名
password:String,//用户密码
status:String//用户状态0启用,1禁用
})
iv. 建立model(modelDao.js和userModelImpl.js)
modelDao.js(mongodb的通用方法)
module.exports.find=function(obj){
obj.find({},function(err,docs){
console.log(docs);
return docs;
});
}
module.exports.save=function(obj){
console.log('users='+obj);
obj.save(function(err){
if(err){
console.log('保存失败')
}
console.log('保存成功');
});
}
///////////////////
userModelImpl.js(创建模型)
var mongoose=require('../mongodbCon.js');
var schema=require('../Schema/userSchema.js');
var modelDao=require('./modelDao.js');
//实例化模型,形成文档(对应关系数据库中的记录)
module.exports=function (obj) {
//模型
if(obj){
return mongoose.model(obj,schema.userSchema);
}else{
return mongoose.model('user',schema.userSchema);
}
};
v. 操做mongodb(test.js)
var path='../dbUtil/mongodbUtil/model/';
var modelDao=require(path+'modelDao.js');
var userModel=require(path+'userModelImpl.js')();
var users=new userModel({
username:'tl', //用户姓名
password:'12345',//用户密码
status:'0'//用户状态0启用,1禁用
})
//保存数据
modelDao.save(users);
//查询数据
modelDao.find(userModel);
vi. 运行test.js