mongoose的模块化
在每次使用mongoose时,都要进行规则的连接操作和创建Schema模式对象,这时就能考虑将这两个功能封装成模块,在使用时直接完成调用即可
连接数据库操作的封装
//连接数据库并监听连接成功
let mongoose = require("mongoose");
mongoose.connect("mongodb://127.0.0.1/mongoose_test");
mongoose.connection.once("open",function(){
console.log("数据库连接成功!")
})
创建Schema模式对象操作的封装
//将mongoose.Schema赋值给一个变量
let Schema = mongoose.Schema;
//创建Schema(模式)对象
let StuSchema = new Schema({
name:String,
age:Number,
gender:{
type:String,
default:"female"
},
address:String
});
//通过Schema来创建Model,Model代表的是数据库中的集合,通过Model才能对数据库操作
//Mongoose.model(modelName,Schema)
let StuModel = mongoose.model("student",StuSchema);
//将模型暴露出去
module.exports = StuModel;
在其他文件中调用这些模块
//调用连接数据块的模块
require("连接数据库模块的路径");
//调用模型
let student = require("模型模块的路径");
//可以进行Model的操作了
student.find({name:"加菲猫"},function(err){
if(!err){
console.log("模块调用成功,并且查找成功!")
}
})