如何使用pymongo来创建索引?以及如何显示已经创建的索引?
冯纪忠雄
使用pymongo创建单个字段的索引,可利用ensure_index方法或create_index方法,两者用法一样,这里以create_index为例,注意create_index方法是指定集合collection的方法:
>>> my_db.my_collection.create_index("mob") # 为mob字段创建升序索引
上述操作等价于:
>>> my_db.my_collection.create_index( [("mob", pymongo.ASCENDING)] )
上述操作不一样的是,可以同时创建不只一个索引,例如:
>>> my_db.my_collection.create_index( [("mob", pymongo.ASCENDING), ("city", pymongo.DESCENDING)] )
备注,pymongo.ASCENDING等于整数1,代表升序排列,因此,也可以直接用1来代替;而pymongo.DESCENDING等于整数-1,代表降序排列,也可以直接使用-1来代替。
>>> my_db.my_collection.create_index( [("mob", 1), ("city", -1)] )
更详细关于pymongo创建索引的方法,请参阅官方文档。
至于显示指定集合所有已创建的索引,可如下:
>>> my_db.my_collection.index_information() {u'_id_': {u'key': [(u'_id', 1)]}, u'mob_1': {u'unique': True, u'key': [(u'mob', 1)]}}