from pymongo import MongoClient
Client = MongoClient('localhost', 27017)
dbs = Client.database_names()
for val in range(len(dbs)):
print "%s : %s"%(val,dbs[val])
database = input(" Select the Database ")
ex = dbs[database]
print ex
cols = Client.ex.collection_names()
print cols
for c in cols:
print c
这是我的代码..如果我使用Client.m101.collection_names()我可以获得数据库下的所有集合。 注意:m101是我的数据库。但我想从用户那里获取数据库,并希望在用户输入的数据库下阅读集合。
答案 0 :(得分:0)
您可以使用 MongoClient
连接实例上的字典样式访问来访问数据库,该实例会删除特定于Python的命名限制,如下所示:
from pymongo import MongoClient
def get_collection_names(dbname):
client = MongoClient('localhost', 27017)
db = client[dbname]
return db.collection_names()
def main():
database = input(" Select the Database ")
cols = get_collection_names(database)
for c in cols:
print c
if __name__ == '__main__':
main()