在可能不存在的字段上validation$ regex
name: { $regex: /^.{0,200}$/ }
如果名称字段不能保证存在,可以使用MongoDB文档validation完成这种validation吗? 因为现在我得到validation错误,如果该名称字段不存在
根据你的问题和评论,你会想要在你的集合中定义validation,这样你就可以validation名称字段与正则expression式是否存在。 为了实现这一点,添加$存在这样的validation器为false。
db.createCollection( "contacts", { validator: { $or: [ { name: { $exists: false} }, { name: { $regex: /^.{0,200}$/ } } ] } } )
如果你想允许这样的事情
{ name: null }
你也可以添加$ ne来validation
$ne: null
这有帮助吗?
在您的查询中使用$ exists存在示例:
db.inventory.find( { name: { $exists: true, $regex: /^.{0,200}$/ } } )
有关更多$存在您可以参考下面的链接
链接
希望这可以解决你的问题