无法使用 pymongo 连接到 Azure Cosmos DB for MongoDB vCore

问题描述 投票:0回答:1

我正在尝试使用 pymongo 设置我的 MongoDb vCore 集群的连接,这是我使用的代码

mongo_conn = "mongodb+srv://"+COSMOS_MONGO_USER+":"+COSMOS_MONGO_PWD+"@"+COSMOS_MONGO_SERVER+"?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"

mongo_client = pymongo.MongoClient(mongo_conn)

以下是我收到的错误。

配置错误:名称服务器不是 dns.nameserver.Nameserver 实例或文本形式、IP 地址,也不是有效的 https URL

COSMOS_MONGO_SERVER 值采用以下格式:

sample-db.mongocluster.cosmos.azure.com/

环境:

Python:3.11.5

皮蒙戈:4.5

mongodb azure-cosmosdb pymongo
1个回答
0
投票

无法使用 pymongo 连接到 Azure Cosmos DB for MongoDB vCore:

以下是我使用 pymongo 连接 Mongo DB 的步骤:

  • import pymongo
    允许您使用 Python 与 MongoDB 数据库交互。

  • mongo_client
    建立与 MongoDB 服务器的连接。

  • 它使用

    collection.find()
    从提供的集合中检索所有文档,然后迭代这些文档并将每个文档打印到终端。

  • 如果执行过程中发生异常,

    except
    块会收集并发布错误消息。

下面是我尝试过的代码:

import pymongo

cosmosMongoUser = "*****"
cosmosMongoPwd = "*****"
cosmosMongoServ = "*****"
cosmosDbName = "newDb"
cosmosCollName = "id"
mongo_conn = f"*****"

try:
    mongo_client = pymongo.MongoClient(mongo_conn)
    
    db = mongo_client[cosmosDbName]
    collection = db[cosmosCollName]
   
    documents = collection.find()
    for document in documents:
        print(document)
        
except Exception as e:
    print("Error:", str(e))
finally:
    mongo_client.close()

输入:

{
    "_id" : ObjectId("64f97842d438121c2813c320"),
    "id" : "1",
    "name" : "Pavan Balaji",
    "age" : 24
}

输出: 输出端子:

{'_id': ObjectId('64f97842d438121c2813c320'), 'id': '1', 'name': 'Pavan Balaji', 'age': 24}
© www.soinside.com 2019 - 2024. All rights reserved.