创建索引后,索引计数始终为0

时间:2015-04-14 10:19:11

标签: python mongodb pymongo

我在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

我错过了什么?我该如何正确列出集合的唯一索引?

1 个答案:

答案 0 :(得分:0)

您可以使用下一个代码执行此操作:

for index in db.my_collection.list_indexes():
    print(index)