python-mongodb要求中的StringField
作者:互联网
我想知道是否可以对用户文档的设置添加要求以检查特定的字符串.这个想法是当使用电子邮件地址创建用户文档时,我想确保电子邮件来自大学,因此应以“ .edu”结尾
例:
可以接受“ john.doe@college.edu”,但不能接受“ john.doe@gmail.com”
这是我的代码:
class User(db.Document, UserMixin):
name = db.StringField(max_length=255, unique=True)
email = db.StringField(max_length=255, unique=True)
phone = db.StringField(max_length=255, unique=True)
password = db.StringField(max_length=255)
active = db.BooleanField(default=True)
confirmed_at = db.DateTimeField()
roles = db.ListField(db.ReferenceField(Role), default=[])
解决方法:
您可以定义一个可选的regex
argument:
email = db.StringField(max_length=255, unique=True, regex=r'.*?boston\.edu$')
而且,为什么在这种情况下不使用特定的EmailField:
email = db.EmailField(max_length=255, unique=True, regex=r'.*?boston\.edu$')
标签:documents,mongodb,python,mongoengine 来源: https://codeday.me/bug/20191028/1955062.html