如何将atlas mongodb与集群连接

2wnc66cl  于 2023-03-29  发布在  Go
关注(0)|答案(3)|浏览(141)

我试图将我的代码连接到Atlas Mongo DB,但我得到了下面的错误,这是我的代码:

from pymongo import MongoClient

client = MongoClient("mongodb+srv://username:test@cluster0.yntdf.mongodb.net/test? 
retryWrites=true&w=majority")
db = client["test"]
collection = db["test"]

collection.insert_one({"_id":0, "name": "hello", "score": 5})

我得到了错误:
配置错误:DNS标签为空。
有人知道如何处理这个错误吗?我安装了dnspython和pymongo

ffx8fchx

ffx8fchx1#

您的连接字符串错误。请仔细检查是否正确,并且调用服务器的IP已列入白名单。

krcsximq

krcsximq2#

我遇到了同样的问题,下面的代码适用于python3.9.1

import pymongo
import urllib 
MONGODB_USERNAME = urllib.parse.quote_plus('test')
MONGODB_PASSWORD = urllib.parse.quote_plus('tset@000')
MONGODB_DATABASE = 'sampledb'
MONGODB_URL = "mongodb://"+MONGODB_USERNAME+":"+MONGODB_PASSWORD+"@cluster0.wq5js.mongodb.net/"+MONGODB_DATABASE+"?retryWrites=true&w=majority"
client = pymongo.MongoClient(MONGODB_URL)
7y4bm7vi

7y4bm7vi3#

下面的Python代码适用于Mongodb Atlas。用Python 3.8和3.9测试。
参考:https://www.mongodb.com/docs/atlas/troubleshoot-connection/#connection-string-issues

from pymongo import MongoClient
from urllib.parse import quote_plus

USERNAME = quote_plus('test')
PASSWORD = quote_plus('test@12345')
DATABASE = 'sampledb'
URI = "mongodb+srv://" + USERNAME + ":" + PASSWORD + "@" + DATABASE_HOST

client = MongoClient(URI)
conn = client[DATABASE]
conn.command('ping')

请注意,Mongodb Atlas不支持用户管理。不支持的命令列表提到here

相关问题