目录结构
文件内容
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)
// })
模块化
目录结构
文件内容
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');
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。