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() 命令可以查看表字段的限制信息。
  • 相关阅读:
    java中如何获得系统路径!(项目的路径)
    纯DOS学习笔记
    Ubuntu 初始配置
    原码、反码、补码
    几个小程序
    数据类型字符串、字节
    rdesktop方法(Linux to Windows)
    Python语言说明
    Manjaro 初始配置anacondapycharmopencvtensorflow
    【转】谈谈MATLAB中cell数据类型
  • 原文地址:https://www.cnblogs.com/chengjunhao/p/9140914.html
Copyright © 2011-2022 走看看