我想在我的集合中创建3个索引,一个具有唯一性约束,另一个没有唯一性。要创建多个索引,我可以这样做:
collection.create_index(
[("key1", pymongo.DESCENDING),
("key2", pymongo.DESCENDING),
("key3", pymongo.DESCENDING)],
unique=True
)
但是我所有的索引都是唯一的。我该如何设置key1唯一?唯一的解决方案是重复两次创建索引吗?还是我想念什么?
collection.create_index(
[("key1", pymongo.DESCENDING)],
unique=True
)
collection.create_index(
[("key2", pymongo.DESCENDING),
("key3", pymongo.DESCENDING)]
)
答案 0 :(得分:1)
您的第一个代码示例在所有三个字段上创建一个compound index。
如果要分别索引这三列,则需要为每个列分别进行create_index
调用:
collection.create_index(
[("key1", pymongo.DESCENDING)],
unique=True
)
collection.create_index(
[("key2", pymongo.DESCENDING)]
)
collection.create_index(
[("key3", pymongo.DESCENDING)]
)