Как да намеря списък с индекси на всички бази данни, използващи PyMongo?

Нов съм в Python и използвам Python 2.6. Написах скрипт за извличане на всички колекции от бази данни на MongoDB. Сега се опитвам да намеря индекси, използвайки същия скрипт

Ето кодовия фрагмент, който извлича колекции от всички DB

import pymongo
import json

if __name__ == '__main__':
    client = pymongo.MongoClient("localhost", 27011, maxPoolSize=50)
    d = dict((db, [collection for collection in client[db].collection_names()])
             for db in client.database_names())
    print json.dumps(d)

и искам да интегрирам следната команда MongoDB в скрипта, който ще изброява всички индекси, присъстващи в DB

db.getCollectionNames().forEach(function(collection){indexes = db[collection].getIndexes();print(collection);printjson(indexes.length);indexes.forEach(function(item){print(item.name);});});

Как мога да постигна това в скрипта


person Devendra    schedule 29.03.2019    source източник
comment
FYI. Свързани дубликати с любезното съдействие на Google Търсене pymongo get имена на колекции и списъчни индекси на pymongo. Най-добри резултати от всеки. Моля, потърсете, преди да публикувате, тъй като на повечето въпроси като този е отговорено преди.   -  person Neil Lunn    schedule 29.03.2019
comment
Въпросът ми е малко по-различен и проучих преди да публикувам, но не можах да намеря никакво решение Моята грешка е ***TypeError: обектът „База данни“ не може да се извика. Ако сте искали да извикате метода „index_information“ на обект „MongoClient“, той се проваля, защото не съществува такъв метод. ***   -  person Devendra    schedule 29.03.2019
comment
Всъщност не е по-различно. Този отговор, към който сте свързани, има връзка към документацията на pymongo за метода, който се опитвате да използвате. Той ясно посочва от кой обект извиквате метода. Както и съобщението за грешка по този въпрос. Предлагам ви да прочетете и двете.   -  person Neil Lunn    schedule 29.03.2019