【问题标题】:MongoDB 3.2 Document Validation match "null" or "string" typeMongoDB 3.2 文档验证匹配“null”或“string”类型
【发布时间】:2016-12-13 13:42:15
【问题描述】:

我是 MongoDB noSQL 数据库的新手,也是文档验证的新手。

我想为一个集合指定一个字段可以是“空”BSON 类型或“日期”BSON 类型。

我尝试了以下格式:

db.createCollection("users",{

   validator: 
   {
    update_at:  {$or:[{$type:"null"},{$type:"date"}]}
   }
})

MongoDB 给我一个 errmsg: unknown operator $or。

我还尝试为一个集合指定一个字段不存在,或者如果它存在是“日期”类型:

db.createCollection("users",{

   validator: 
   {
    update_at:  {$or:[{$type:"date"},{$exists:false}]}
   }
})

MongoDB 给我同样的 errmsg: unknown operator $or.

我可以通过文档验证实现此结果吗? 谢谢大家。

【问题讨论】:

    标签: mongodb validation nosql


    【解决方案1】:

    试试这样的。你的语法有点不对劲。

    db.createCollection("users",{
       validator: 
       {$or:[{update_at:{$type:"null"}},{update_at:{$type:"date"}}]}
    })
    
    
    db.createCollection("users",{
      validator: 
      {$or:[{update_at:{$type:"date"}},{update_at:{$exists:false}}]}
    })
    

    【讨论】:

    • 第二个语句似乎对我不起作用。它检查“存在”运算符,但在第二种情况下不检查类型“日期”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2017-05-21
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 2021-06-12
    相关资源
    最近更新 更多