我在MongoDB集合中创建了一个唯一索引,并尝试按如下方式进行双重检查:
>>> import pymongo
>>> db = pymongo.MongoClient().example
>>> db.my_collection.create_index('uid', unique=True)
u'uid_1'
>>> db.my_collection.indexes.find().count()
0 <- why is it zero?
>>> db.my_collection.indexes.find({"unique": True}).count()
0 <- why is it zero?
然而,当我插入一个带有重复&#39; uid&#39;属性,它会引发DuplicateKeyError
异常:
>>> db.my_collection.insert({'uid': 777, 'value': 777})
[ObjectId('552b96......')]
>>> db.my_collection.insert({'uid': 777, 'value': 777777})
.....pymongo.errors.DuplicateKeyError: E11000 duplicate key error, { : 777} already exists in unique index
我错过了什么?我该如何正确列出集合的唯一索引?
答案 0 :(得分:0)
您可以使用下一个代码执行此操作:
for index in db.my_collection.list_indexes():
print(index)