2.mongoose常用字段类型

60 阅读1分钟

3.mongoose常用字段类型

image.png

  //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....

image.png

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)

image.png

unique 需要 重建集合 才能有效果
永远不要相信用户的输入