如何获取mongo集合的当前验证器?

时间:2017-12-09 17:40:27

标签: mongodb

如何获取mongo集合的当前验证器?

或者没有办法,我只需要覆盖它?

1 个答案:

答案 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"
        ]
      }
    }
  ]
}

验证器在选项对象中被找到。