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方法)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,323评论 19 139
  • Mongodb 配置选项 通常在mongod.conf中 配置文件 设置了配置文件后启动时以自定义的配置文件启动:...
    AkaTBS阅读 4,707评论 0 6
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,899评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 9,235评论 0 11
  • 有一天HR拿着一份简历找我,说有一个10年IT互联网从业经验,其中最近4年Android开发经验的人来面试。当时我...
    imGeek阅读 4,001评论 8 0