mongodb 要求中的 StringField

StringField in mongodb requirements

我想知道我是否可以在我的用户文档的设置中添加一个要求来检查特定的字符串。我的想法是,当使用电子邮件地址创建用户文档时,我想确保该电子邮件来自大学,因此它应该以“.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$')