Jay*_*Jay 7 indexing unique sparse-matrix mongoengine
我正在使用mongoengine和烧瓶.我有一个名为profile的db.Document类,其中我希望一个字段可以为空并且是唯一的,我理解这样做的方法是使该字段的索引既稀疏=真又唯一=真,我该如何这样做呢?
Ros*_*oss 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 },
],
}
Run Code Online (Sandbox Code Playgroud)
如果是唯一约束,您可以使用字段声明将其设置为:
email = mongodb.EmailField(required=True, unique=True)
Run Code Online (Sandbox Code Playgroud)
小智 6
我们可以直接在Field参数中提及它。例子:
email = db.EmailField(sparse=True, unique=True, required=False)
Run Code Online (Sandbox Code Playgroud)