- Mastering MongoDB 3.x
- Alex Giamas
- 253字
- 2021-08-20 10:10:55
collMod
collMod is used to pass flags to a collection modifying the underlying database's behavior.
Since version 3.2, the most interesting set of flags that we can pass to a collection is document validation.
Document validation can specify a set of rules to be applied to new updates and inserts into a collection. This means that current documents will get checked if they get modified.
We can only apply validations to documents that are already valid if we set validationLevel to moderate. By specifying validationAction we can log documents that are invalid by setting it to warn or prevent updates from happening altogether by setting it to error.
For example, with the previous example of BookOrders we can set a validator on the isbn and name fields being present for every insert or update like this:
> db.runCommand( { collMod: "bookOrders",
"validator" : {
"$and" : [
{
"isbn" : {
"$exists" : true
}
},
{
"name" : {
"$exists" : true
}
}
]
}
})
Here, we get back:
{ "ok" : 1 }
Then if we try to insert a new document with only the isbn field being present, we get an error:
> db.bookOrders.insert({isbn: 102})
WriteResult({
"nInserted" : 0,
"writeError" : {
"code" : 121,
"errmsg" : "Document failed validation"
}
})
>
We get an error because our validation failed. Managing validation from the shell is really useful as we can write scripts to manage them and also make sure that everything is in place.
- 虛擬儀器設計測控應用典型實例
- Big Data Analytics with Hadoop 3
- Mastering Proxmox(Third Edition)
- AWS:Security Best Practices on AWS
- 網頁編程技術
- AWS Certified SysOps Administrator:Associate Guide
- CompTIA Network+ Certification Guide
- AI 3.0
- 具比例時滯遞歸神經網絡的穩定性及其仿真與應用
- INSTANT Drools Starter
- 統計挖掘與機器學習:大數據預測建模和分析技術(原書第3版)
- Machine Learning Algorithms(Second Edition)
- 電氣控制與PLC原理及應用(歐姆龍機型)
- INSTANT Puppet 3 Starter
- 手把手教你學Flash CS3