如何获取mongo集合的当前验证器?
或者没有办法,我只需要覆盖它?
答案 0 :(得分:2)
您可以使用db.getCollectionInfos()方法获取它。
示例:强>
在空数据库中创建一个集合:
db.createCollection( "contacts",
{
validator: { $or:
[
{ phone: { $type: "string" } },
{ email: { $regex: /@mongodb\.com$/ } },
{ status: { $in: [ "Unknown", "Incomplete" ] } }
]
},
validationAction: "warn"
}
)
{" ok" :1}
运行命令:
db.getCollectionInfos()[0].options.validator
结果:
{
"$or" : [
{
"phone": {
"$type": "string"
}
},
{
"email": {
"$regex": /@mongodb\.com$/
}
},
{
"status": {
"$in": [
"Unknown",
"Incomplete"
]
}
}
]
}
验证器在选项对象中被找到。