Как найти список индексов всех баз данных с помощью PyMongo?

Я новичок в Python, и я использую Python 2.6. Я написал скрипт для извлечения всех коллекций из баз данных MongoDB. Теперь я пытаюсь найти индексы, используя тот же скрипт.

Вот фрагмент кода, который извлекает коллекции из всех БД

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.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
к вашему сведению. Связанные дубликаты предоставлены поиском 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