[英]pymongo get keys of all collections
我需要一个代码来显示所有集合名称的主键。 我希望能够在不同的 mongo 实例上使用它,所以我不想使用 collections 的确切名称。
import pymongo
import sys
import json
from pymongo import MongoClient
if __name__ == '__main__':
client = pymongo.MongoClient("localhost", 27017, maxPoolSize=50)
db = client.list_database_names()
document = db.collection_name.find_one()
for k in document:
print(k)
但是当我运行它时,它会输出
Traceback (most recent call last):
File "bla.py", line 12, in <module>
document = db.collection_name.find_one()
AttributeError: 'list' object has no attribute 'collection_name'
这里有什么问题?
db
是所有数据库名称的列表 您必须为每个数据库名称获取数据库 object。 然后你必须得到每个数据库的所有集合。 您将能够打印每个集合的第一个文档
import pymongo
import sys
import json
from pymongo import MongoClient
if __name__ == '__main__':
client = pymongo.MongoClient("localhost", 27017, maxPoolSize=50)
list_databases = client.list_database_names()
for database_name in list_databases:
# Create a Database object
db = client.get_database(database_name)
# Get list of collections names in that database
list_collections = db.collection_names()
for collection_name in list_collections:
# Create a colection object
collection = db.get_collection(collection_name)
# Print the first element of that collection
print(collection.find_one())
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.