Mongodb Schema

名义解释

  • 特点:MongoDB是以空间换取时间和效率,本身不提供关系数据库中常见的主键生成策略、事务。
  • Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力
  • Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对(管理数据库属性、行为的类)
  • Entity : 由Model创建的实体,他的操作也会影响数据库

Schema属性关键字

  • default 设置默认值
  • get 调用处理方法,比如格式化字符串(处理方法)
  • index 设置索引规则
  • required 设置验证规则,正则表达式等
  • select 设置属性是否总是在查询结果中出现bool
  • set 可以修改传来的属性值,和get类似
  • sparse 稀疏索引bool,与索引搭配使用
  • unique 设置这个属性的值只出现一次,一般对索引设置
  • validate 自定义验证规则(函数),用于对属性的值进行验证,false失败,true通过验证
  • required 非空验证
  • min/max 范围验证(边值验证)
  • enum/match 枚举验证/匹配验证

属性

  1. safe——安全属性
    new Schema({...},{safe:{j:1,w:2,wtimeout:10000}});
    j表示做1份日志,w表示做2个副本(尚不明确),超时时间10秒
    
  2. capped——上限设置
    new Schema({...},{capped:1024});  //一次操作上线1024条数据
    new Schema({...},{capped:{size:1024,max:100,autoIndexId:true}});
    
  3. versionKey——版本锁
    new Schema({...},{versionKey:false});
    
  4. autoIndex——自动索引
    
    
  5. shardKey——分布式

常用SQL语句

  1. 新增(如果是Entity,使用save方法,如果是Model,使用create方法)
    • 使用Entity来增加一条数据
    var krouky = new PersonModel({name:'krouky'});
    krouky.save(callback);
    
    • 使用Model来增加一条数据
    var MDragon = {name:'MDragon'};
    PersonModel.create(MDragon,callback);
    
  2. 删除(Entity和Model都使用remove方法)

你可能感兴趣的:(Mongodb Schema)