//1.引入mongoose
const mongoose = require('mongoose');
//2、建立连接
mongoose.connect('mongodb://127.0.0.1:27017/koademo',{useNewUrlParser:true});
//3、操作users表(集合) 定义一个Schema Schema里面的对象和数据库表里面的字段需要一一对应
var UserSchema=mongoose.Schema({
name:String,
age:Number,
status:Number
})
//4、定义数据库模型 操作数据库
// model里面的第一个参数 要注意:1首字母大写 2、要和数据库表(集合 )名称对应 这个模型会和模型名称相同的复数的数据库表建立连接
//var User=mongoose.model('User',UserSchema); // 默认会操作 users表(集合)
var User=mongoose.model('User',UserSchema,'user'); //默认会操作第三个参数配置的表 user表(集合),没有第三个参数,则默认操作users表,复数的表
//5、查询users表的数据
User.find({},function(err,doc){
if(err){
console.log(err);
return;
}
console.log(doc);
})
//6、增加数据
// 6.1实例化 Model 通过实例化User Molde 创建增加的数据
//6.2 实例.save()
var u=new User({
name:'李四',
age:20,
status:1
});
u.save(function(err){
if(err){
console.log(err);
return;
}
console.log('成功')
}); //执行增加操作
//1.引入mongoose
const mongoose = require('mongoose');
//2、建立连接
mongoose.connect('mongodb://127.0.0.1:27017/koademo',{useNewUrlParser:true});
//3、定义一个Schema
var NewsSchema=mongoose.Schema({
title:"string",
author:String,
pic:String,
content:String,
status:Number
})
//4、定义操作数据库的Model
var News=mongoose.model('News',NewsSchema,'news');
//5、增加数据
//通过实例化 Model 创建增加的数据
var news=new News({
title:"我是一个新闻11111",
author:'张三1',
content:'我是新闻的内容',
status:1
});
news.save(function(err){
if(err){
return console.log(err);
}
console.log('成功')
});
//6、修改数据
News.updateOne(
{"_id":"5b767455193f6630d830fc25"},
{"title":"我是一个新闻2222"},
function(err,doc){
if(err){
return console.log(err);
}
console.log(doc)
})
//删除数据
News.deleteOne({"_id":"5b767455193f6630d830fc25"}, (err,result)=>{
if(err){
return console.log(err);
}
console.log(result)
})
//mongoose 默认参数、mongoose 模块化 、mongoose性能疑问
// mongoose 默认参数:增加数据的时候,如果不传入数据会使用默认配置的数据
var mongoose=require('mongoose');
//useNewUrlParser这个属性会在url里识别验证用户所需的db,未升级前是不需要指定的,升级到一定要指定。
mongoose.connect('mongodb://127.0.0.1:27017/koademo',{ useNewUrlParser: true },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,'user');
//数据的查找
// UserModel.find({},function(err,doc){
// if(err){
// console.log(err);
// return;
// }
// console.log(doc);
// })
//数据的增加
// var user=new UserModel({
// name:'张三88888888888888',
// age:40,
// status:1,
// sex:"男"
// })
// user.save(function(err){
// if(err){
// console.log(err);
// return;
// }
// console.log('增加数据成功')
// });
var user=new UserModel({
name:'张三6666666666666666',
age:30
})
user.save(function(err){
if(err){
console.log(err);
return;
}
console.log('增加数据成功')
});
var UserModel=require('./model/user.js');
var NewsModel=require('./model/news.js');
var user=new UserModel({
name:"李四666",
age:40
})
user.save(function(err){
if(err){
console.log(err);
return;
}
//获取user表的数据
UserModel.find({},function(err,docs){
if(err){
console.log(err);
return;
}
console.log(docs);
})
})
// NewsModel.find({},function(err,docs){
// if(err){
// console.log(err);
// return;
// }
// console.log(docs);
// })
var mongoose=require('./db.js');
var UserSchema=mongoose.Schema({
name:String,
age:Number,
status:{
type:Number,
default:1
}
})
module.exports=mongoose.model('User',UserSchema,'user');
console.time('user');
var UserModel=require('./model/user.js');
console.timeEnd('user');
console.time('news');
var NewsModel=require('./model/news.js');
console.timeEnd('news');
预定义修饰符
var mongoose=require('./db.js');
var NewsSchema=mongoose.Schema({
title:{
type:String,
trim:true //定义 mongoose模式修饰符 去掉空格
},
author:String,
pic:String,
content:String,
status:{
type:Number,
default:1
}
})
module.exports=mongoose.model('News',NewsSchema,'news');
set修饰符给每个图片增加http
var mongoose=require('./db.js');
var FocusSchema=mongoose.Schema({
title:{
type:String,
trim:true //定义 mongoose模式修饰符 去掉空格
},
pic:String,
redirect:{
type:String,
set(parmas){ //增加数据的时候对redirect字段进行处理
// parmas可以获取redirect的值 、 返回的数据就是redirect在数据库实际保存的值
/*
www.baidu.com http://www.baidu.com
http://www.baidu.com http://www.baidu.com
*/
if(!parmas){
return ''
}else{
if(parmas.indexOf('http://')!=0 && parmas.indexOf('https://')!=0){
return 'http://'+parmas;
}
return parmas
}
}
},
status:{
type:Number,
default:1
}
})
module.exports=mongoose.model('Focus',FocusSchema,'focus');
get修饰符不建议使用
var mongoose=require('./db.js');
var UserSchema=mongoose.Schema({
name:{
type:String,
get(params){ //不建议使用
return "a001"+params
}
},
age:Number,
status:{
type:Number,
default:1
}
})
module.exports=mongoose.model('User',UserSchema,'user');