无法从MongoDB python获取集合名称
我在azure portal上运行了无法从MongoDB python获取集合名称,python,mongodb,Python,Mongodb,我在azure portal上运行了mongodb。我可以使用nosql booster连接到它。我创建了一个DBTestDb,并向其中添加了3个集合。我正在尝试使用python连接到它,如下所示: mongo_url = 'mongodb://' + <username> + ':' + <password> + '@' + <url> + ':' + port + '/' + admin client = MongoClient(mongo_url) db
mongodb
。我可以使用nosql booster连接到它。我创建了一个DBTestDb
,并向其中添加了3个集合。我正在尝试使用python连接到它,如下所示:
mongo_url = 'mongodb://' + <username> + ':' + <password> + '@' + <url> + ':' + port + '/' + admin
client = MongoClient(mongo_url)
db = client.get_database('TestDb')
print(db)
print(db.list_collection_names()) # Error at this line
mongo_url='mongodb://'++':'++'@'++':'+port++'/'+admin
client=MongoClient(mongo_url)
db=client.get_数据库('TestDb')
打印(db)
打印(db.list_collection_names())#此行出错
以下是db的输出:
Database(MongoClient(host=['<name>.documents.azure.com:10255'], document_class=dict, tz_aware=False, connect=True), 'TestDb')
数据库(MongoClient(host=['.documents.azure.com:10255'],document\u class=dict,tz\u aware=False,connect=True),“TestDb”)
但是在db.list\u collection\u names()
中显示错误.documents.azure.com:10255:超时
我重新检查了所有的东西,我觉得一切都很好。但不确定为什么不能使用python完成以上操作。请帮忙。谢谢值得一提的是,您正在使用Cosmos DB 尽管它在有线协议级别上与MongoDB兼容,但它有自己的细节 请尝试从Azure门户了解Python的快速入门代码片段。它应该具有最精确的连接设置 我最好的猜测是它需要:
mongo_url='mongodb://'++':'++'@'++':'+port++'/'+admin++'?ssl=true'
你能尝试一下db=client['TestDb']
而不是db=client.get_database('TestDb')
?@po.pe吗?@po.pe是的,刚刚尝试过,得到了同样的错误。你能用db['collection\u name']
?@po.pe使用print(db['userdetails\u collection'])
我得到了collection(database)吗(MongoClient(host=['.documents.azure.com:10255'],document_class=dict,tz_aware=False,connect=True),'TestDb'),'userdetails_account')
。这是什么意思?您使用的是什么版本的pymongo?
mongo_url = 'mongodb://' + <username> + ':' + <password> + '@' + <url> + ':' + port + '/' + admin + '?ssl=true'