Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从MongoDB python获取集合名称_Python_Mongodb - Fatal编程技术网

无法从MongoDB python获取集合名称

无法从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

我在azure portal上运行了
mongodb
。我可以使用nosql booster连接到它。我创建了一个DB
TestDb
,并向其中添加了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'