pymongo で 2 つのフィールドを持つインデックスを作成して、それらが一緒に一意になるようにするにはどうすればよいですか?
次のようなコードがあります:
self.db[self.mongo_collection].create_index("url", unique=True)
url
しかし、と を一意にする必要がありますcategory
。
ベストアンサー1
複合インデックスを作成し、前述のようunique
に設定する必要があります。True
ドキュメンテーション:
複合インデックスで一意制約を使用する場合、MongoDB はキーのいずれかまたはすべての値の個々の値ではなく、値の組み合わせに対して一意性を強制します。
self.db[self.mongo_collection].create_index(
[("url", pymongo.DESCENDING), ("category", pymongo.ASCENDING)],
unique=True
)