Node.js 验证可能不存在的字段上的$regex
如果名称字段不能保证存在,这种验证可以通过MongoDB文档验证来完成吗?因为现在如果名称字段不存在,我会得到验证错误请在查询中使用$exists 例如: 有关$exist的更多信息,请参阅下面的链接Node.js 验证可能不存在的字段上的$regex,node.js,mongodb,Node.js,Mongodb,如果名称字段不能保证存在,这种验证可以通过MongoDB文档验证来完成吗?因为现在如果名称字段不存在,我会得到验证错误请在查询中使用$exists 例如: 有关$exist的更多信息,请参阅下面的链接 希望这可以解决您的问题根据您的问题和评论,您希望在集合中定义验证,以便根据正则表达式(如果存在)验证名称字段。要实现此目的,请向验证器添加$exists false,如下所示 db.inventory.find( { name: { $exists: true, $regex: /^.{0,20
希望这可以解决您的问题根据您的问题和评论,您希望在集合中定义验证,以便根据正则表达式(如果存在)验证名称字段。要实现此目的,请向验证器添加$exists false,如下所示
db.inventory.find( { name: { $exists: true, $regex: /^.{0,200}$/ } } )
如果你想允许这样的事情
db.createCollection( "contacts",
{ validator: { $or:
[
{ name: { $exists: false} },
{ name: { $regex: /^.{0,200}$/ } }
]
}
} )
您还将添加到验证中
{
name: null
}
这有帮助吗?除了使用MongoDB验证器,我不想查询任何东西。使用$exists意味着我希望该字段始终存在或不存在,因为在创建或更新文件时,我不关心该字段是否存在。我只想确保它的长度不超过200是的,就是这样,非常感谢!真不敢相信我是多么愚蠢,我没有意识到你可以为一个字段设置多个规则..:D
{
name: null
}
$ne: null