Я пытаюсь получить значения всех баз данных, существующих в mongodb, перебрать все базы данных и коллекции для печати документов. Я могу напечатать документ, передавая коллекцию как переменную, но не могу сделать это итерируя по всем базам данных и коллекциям (как значение переменной). Кто-то знает, поддерживает ли pymongo динамическую передачу в качестве значения, а не передачу коллекции и базы данных в качестве самой переменной ??
client = MongoClient('mongodb://localhost:27017/')
names = client.database_names()
for dbName in names:
print(dbName)
db = client.dbName
collectionNames = client[dbName].collection_names()
for colecao in collectionNames:
print(colecao)
cursor = db.colecao # choosing the collection you need
print(cursor)
cursor2 = cursor.find() # get documents
for document in cursor2:
pprint(document)
Имена баз данных и имен коллекций печатаются нормально, но курсор печати возвращает:
"Коллекция (База данных (MongoClient (host = ['localhost: 27017'], document_class = dict, tz_aware = False, connect = True), u'dbName '), u'colecao')"
Идет с именами переменных.