zoukankan      html  css  js  c++  java
  • mongodb validation--像关系型数据库表去使用mongodb

    例子:

    定义表:

    db.createCollection( "contacts",
    { validator: { $and:
    [
    { phone: { $type: "string" } },
    { email: { $type: "double"} },
    { status: { $in: [ "Unknown", "Incomplete" ] } }
    ]
    }
    } )

    表名:contacts ,必修包含的字段: phone 且类型是string,email 且类型是double,status 且值必须是Unkown或Incomplete。

    可以根据以下命令进行修改

    db.runCommand( {
    collMod: "contacts",
    validator: { $and: [ { phone: { $type: "string" } }, { email: { $regex: /@mongodb.com$/ } }, { status: { $in: [ "Unknown", "Incomplete" ] } } ] },
    validationLevel: "moderate",

    validationAction: "error"

    } )

    该命令示例 修改了email必须以@mongodb.com值结尾。

    validationLevel的取值意义:
    VALIDATIONLEVELDESCRIPTION
    “off” 关闭数据校验。
    “strict” 默认值。对所有的update和insert有效。
    “moderate” 仅对insert和满足校验规则的document做update有效。对已存在的不符合校验规则的document无效。
    validationAction的取值意义:
    “error” 默认值。document必须满足校验规则,才能被写入数据哭。
    “warn” document不符合校验规则的,MongoDB允许写入,但会记录一条告警到mongod.log中去。日志内容记录报错信息以及该document的完整记录。
     
     备注:db.getCollectionInfos() 命令可以查看表字段的限制信息。
  • 相关阅读:
    js数据结构Map -----字典
    配置一个高效快速的Git环境
    Ubuntu下dlib库编译安装
    空间域二阶统计纹理
    Markdown语法
    Notepad++中NppExec的使用之一:基本用法
    斯坦福大学机器学习笔记及代码(一)
    安家落户
    Android App开发常用专题开源代码
    Android基础-EditText键盘的显示与隐藏
  • 原文地址:https://www.cnblogs.com/chengjunhao/p/9140914.html
Copyright © 2011-2022 走看看