PyMongo创建具有2个或更多字段的唯一索引

时间:2016-03-05 09:58:35

标签: python mongodb mongodb-query pymongo

如何在pymongo中创建具有2个字段的索引,以便一起独一无二?

我有这段代码:

self.db[self.mongo_collection].create_index("url", unique=True)

但我需要与urlcategory保持唯一。

1 个答案:

答案 0 :(得分:17)

您需要创建一个复合索引并将unique设置为True,如documentation中所述:

  

如果对复合索引使用唯一约束,则MongoDB将对值的组合强制唯一性,而不是对键的任何或所有值的单个值强制执行。

self.db[self.mongo_collection].create_index(
    [("url", pymongo.DESCENDING), ("category", pymongo.ASCENDING)],
    unique=True
)