首先在models中定义mongoose的数据库连接操作:
var mongoose=require("mongoose"); //每个用户都会重新进行连接
var db=mongoose.createConnection("mongodb://127.0.0.1:27017/zys");
db.once("open",function(callback){
console.log("数据库连接成功");
});
module.exports=db;
定义mongodb数据库模板,例如:student模板
var mongoose=require("mongoose");
var db=require("./mongoose_db.js");
var studentschema=new mongoose.Schema({
name:{type:String},
age:{type:Number},
sex:{type:String}
});
//创建静态方法
studentschema.statics.zhaoren=function(name,callback){
this.model("Student").find({name:name},callback);
}
studentschema.statics.xiugai=function(condition,update,options,callback){
this.model("Student").update(condition,update,options,callback);
}
var studentModel=db.model("Student",studentschema);
module.exports=studentModel;
在主文件中将创造的对象实例化:
var student=require("./models/mongoose_student.js");
//老的创造方法
//var xiaoming=new student({name:"小明",age:18,sex:"男"});
//xiaoming.save(function(err){
// console.log(xiaoming.name+"存储成功");
//})
//新的创造方法(工厂)
//student.create({name:"小红",age:17,sex:"女"},function(error){
// console.log("保存成功");
//})
//调用静态查找方法
//student.zhaoren("小红",function(err,result){
// console.log(result);
//});
//调用静态修改方法
student.xiugai({name:"小红"},{$set:{age:30}},{},function(){
console.log("改年龄成功");
})