当前位置:   article > 正文

mongodb validation--像关系型数据库表去使用mongodb

mongo 修改validator

例子:

定义表:

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() 命令可以查看表字段的限制信息。

转载于:https://www.cnblogs.com/chengjunhao/p/9140914.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/286910
推荐阅读
相关标签
  

闽ICP备14008679号