3.mongoose常用字段类型
//5.创建文档的结构对象
let BookSchema =new mongoose.Schema({
name:String,
author:String,
price:Number,
is_hot:Boolean,
tags:Array,
pub_time:Date
});
//7.新增
BookModel.create({
name:'西游记',
author:'吴承恩',
price:50,
is_hot:true,
tags:['精怪','黑暗','人情世故'],
pub_time:new Date()
}).then....
4.mongoose字段验证(重要)
心得:永远不要相信用户的输入
//1.导入库
const mongoose = require('mongoose');
//2.连接地址 与数据库连接 地址+bilibili数据库名称
mongoose.connect('mongodb://127.0.0.1:27017/bilibili');
//3.设置回调 01.连接成功的回调 once只执行一次
mongoose.connection.once('open',()=>{
// console.log('连接成功');
//5.创建文档的结构对象
let BookSchema =new mongoose.Schema({
name:{
type:String,
require:true,
unique:true
},
author:String,
price:{
type:Number,
default:80,
},
is_hot:Boolean,
tags:{
type:String,
enum:['精怪','黑暗','人情世故']
},
pub_time:Date
});
//6.创建模型对象 需要操作的集合名称
let BookModel=mongoose.model('books',BookSchema);
//7.新增
BookModel.create({
name:'西游记',
author:'吴承恩',
// price:50,
is_hot:true,
tags:'精怪',
pub_time:new Date()
}).then((err,data)=>{
if(err){
console.log(err);
return;
}
console.log(data);
//8.关闭数据库连接 项目运行过程中不会添加该代码
mongoose.disconnect();
});
})
//02.连接错误的回调
mongoose.connection.on('error',()=>{
console.log('连接失败');
});
//03.设置连接关闭回调
mongoose.connection.on('close',()=>{
console.log('连接关闭');
})
//关闭mongodb连接
// setTimeout(()=>{
// mongoose.disconnect();//关闭数据库连接
// },2000)
unique 需要 重建集合 才能有效果
永远不要相信用户的输入