如何在Python中创建Mongodb中唯一的字段组合

Pab*_*aba 6 python mongodb mongoengine

我想创建一个表,其中两个字段组合在一起形成一个索引字段.我创建表的Python代码如下.我想要做的是使组合字段course_namegroup_name唯一,以便没有两个具有相同course_namegroup_name可以创建的组.有人可以帮我这个吗?

class SocialGroup(Document):
    timestamp = DateTimeField(default=datetime.now)
    course_name = StringField()
    group_name = StringField(choices=[('A', 1), ('B', 1), ('C', 1),('D', 1), ('E', 1), ('F', 1), ('None',1)], default="None")
Run Code Online (Sandbox Code Playgroud)

Joh*_*yHK 10

您可以在类的dict中指定索引meta:

class SocialGroup(Document):
    timestamp = DateTimeField(default=datetime.now)
    course_name = StringField()
    group_name = StringField(choices=[('A', 1), ('B', 1), ('C', 1),('D', 1), ('E', 1), ('F', 1), ('None',1)], default="None")
    meta = {
        'indexes': [
            {'fields': ('course_name', 'group_name'), 'unique': True}
        ]
    }
Run Code Online (Sandbox Code Playgroud)