egg(24)--mongodb默认参数,模块化,性能

目录结构

文件内容

npm init
cnpm install mongoose --save

默认参数

app.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/eggcms',function(err){
    if(err){
        console.log(err)
        return
    }
    console.log("数据库连接成功")
})

// 定义数据表(集合)的映射,字段名称必和数据库保持一致

var UserSchema = mongoose.Schema({
    name:String,
    age:'number', //另一种写法
    status:{
        type:Number,
        default:1
    }
})

//定义model操作数据库
// var UserModel = mongoose.model('User',UserSchema); //将生成users表
var UserModel = mongoose.model('User',UserSchema,'user');

//数据查找
UserModel.find({},function(err,doc){
    if(err){
        console.log(err);
        return;
    }
    console.log(doc)
})

//数据增加
// var user = new UserModel({
//     name:'22',
//     age:40
// })
// var user = new UserModel({
//     name:'55',
//     age:40,
// })
// var user = new UserModel({
//     name:'55',
//     age:40,
//     sex:'男'
// })
// user.save(function(err,doc){
//     if(err){
//         console.log(err);
//         return;
//     }
//     console.log(doc)
// })

模块化

目录结构

egg(24)--mongodb默认参数,模块化,性能

文件内容

db.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/eggcms',function(err){
    if(err){
        console.log(err)
        return
    }
    console.log("数据库连接成功")
})

module.exports = mongoose;
user.js
var mongoose = require('./db.js');
var UserSchema = mongoose.Schema({
    name:String,
    age:Number,
    status:{
        type:Number,
        default:1
    }
})

//定义model操作数据库
// var UserModel = mongoose.model('User',UserSchema); //将生成users表
var UserModel = mongoose.model('User',UserSchema,'user');
module.exports = UserModel
news.js
var mongoose = require('./db.js');
var NewsSchema = mongoose.Schema({
    title:String,
    content:String
})

//定义model操作数据库
// var UserModel = mongoose.model('User',UserSchema); //将生成users表
var NewsSchema = mongoose.model('news',NewsSchema,'news');
module.exports = NewsSchema
index.js
var UserModel = require('./user.js');
var NewsSchema = require('./news.js');

UserModel.find({},function(err,doc){
    if(err){
        console.log(err);
        return;
    }
    console.log(doc)
})

NewsSchema.find({},function(err,doc){
    if(err){
        console.log(err);
        return;
    }
    console.log(doc)
})

// var news = new NewsSchema({
//     title:'标题1',
//     content:'内容1',
// })
// news.save(function(err,doc){
//     if(err){
//         console.log(err);
//         return;
//     }
//     console.log(doc)
// })

性能

只有第一次连接的时候,要请求连接数据库,后面就不再需要了

time.js
console.time('user');
var UserModel = require('./model/user.js');
console.timeEnd('user');

console.time('news');
var NewsModel = require('./model/news.js');
console.timeEnd('news');

egg(24)--mongodb默认参数,模块化,性能

相关推荐