0

我想创建一个嵌入文档的列表,并且在每个嵌入文档中都有一个特定的字段不仅在列表上是唯一的,而且在整个集合中的所有列表上都是唯一的。

所以我这样做了:

class User(Document):
    emails = ListField(EmbeddedDocumentField(Email))

class Email(EmbeddedDocument):
    email = StringField(unique=True) # This doesn't work!
    verified = BooleanField(default=False)

这只是行不通,我仍然可以向同一用户或跨用户添加重复的邮件!
请帮忙,谢谢。

4

1 回答 1

0

MongoDB 索引中的唯一性是按文档执行的,而不是按数组中的元素执行的。如果要强制执行,则必须将这些文档拆分为单独的集合。

于 2013-02-06T16:58:55.220 回答