如何在pymongo中创建具有2个字段的索引,以便一起独一无二?
我有这段代码:
self.db[self.mongo_collection].create_index("url", unique=True)
但我需要与url
和category
保持唯一。
答案 0 :(得分:17)
您需要创建一个复合索引并将unique
设置为True
,如documentation中所述:
如果对复合索引使用唯一约束,则MongoDB将对值的组合强制唯一性,而不是对键的任何或所有值的单个值强制执行。
self.db[self.mongo_collection].create_index(
[("url", pymongo.DESCENDING), ("category", pymongo.ASCENDING)],
unique=True
)