我想创建一个嵌入式文档列表,并且每个嵌入式文档中的特定字段不仅在列表中是唯一的,而且在整个集合中的所有列表中都是唯一的。
所以我这样做了:
class User(Document):
emails = ListField(EmbeddedDocumentField(Email))
class Email(EmbeddedDocument):
email = StringField(unique=True) # This doesn't work!
verified = BooleanField(default=False)
这只是不起作用,我仍然可以向同一个用户或用户添加重复的邮件!
请帮助,谢谢。
答案 0 :(得分:0)
MongoDB索引的唯一性是针对每个文档强制执行的,而不是针对数组中的每个元素强制执行的。如果要强制执行该操作,则必须将这些文档拆分为单独的集合。