我正在使用mongoengine和烧瓶。我有一个名为profile的db.Document类,其中我希望一个字段可以为空并且是唯一的,我理解这样做的方法是使该字段的索引既稀疏=真又唯一=真,我该怎么做这样做呢?
答案 0 :(得分:13)
您必须在meta
定义中声明索引,例如:
class BlogPost(Document):
date = DateTimeField(db_field='addDate', default=datetime.now)
category = StringField()
tags = ListField(StringField())
meta = {
'indexes': [
{'fields': ['-date'], 'unique': True,
'sparse': True, 'types': False },
],
}
答案 1 :(得分:6)
如果是唯一约束,您可以使用字段声明将其设置为:
email = mongodb.EmailField(required=True, unique=True)
答案 2 :(得分:1)
我们可以在Field参数中直接提及它。示例:
email = db.EmailField(sparse=True, unique=True, required=False)