pymongo连接字符串错误,但在mongdb驱动程序.NET和Mongosh中起作用

发布于 2025-01-28 07:26:08 字数 3594 浏览 1 评论 0原文

我有一个连接字符串,可以通过mongodb.driver .net和mongosh连接,但是当我使用pymongo时 - 将下面的错误抛出。

这是我为Pymongo使用的,

from pymongo import MongoClient
client = MongoClient('mongodb://user:[email protected]:27033')

for db in client.list_databases():
    print(db)

这是我的.NET所使用的

var client = new MongoClient("mongodb://user:[email protected]:27033");
var database = client.GetDatabase("database");
var collection = database.GetCollection<BsonDocument>("collection");

,这就是我在蒙古使用的东西,

mongosh  mongodb://user:[email protected]:27033

我能够与.net和.net和Mongosh连接,但不带有以下错误的Pymongo:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\mongo_client.py", line 1686, in list_databases
    res = admin._retryable_read_command(cmd, session=session)
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\database.py", line 613, in _retryable_read_command
    return self.__client._retryable_read(
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\mongo_client.py", line 1305, in _retryable_read
    server = self._select_server(
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\mongo_client.py", line 1137, in _select_server
    server = topology.select_server(server_selector)
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\topology.py", line 242, in select_server
    servers = self.select_servers(
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\topology.py", line 200, in select_servers
    server_descriptions = self._select_servers_loop(
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\topology.py", line 216, in _select_servers_loop
    raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: mongodb-rs-2.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed,mongodb-rs-0.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed,mongodb-rs-1.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed, Timeout: 30s, Topology Description: <TopologyDescription id: 627ad1f7d3b2c705e2c52e52, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('mongodb-rs-0.mongodb-rs-svc.mongodb.svc.cluster.local', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongodb-rs-0.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed')>, <ServerDescription ('mongodb-rs-1.mongodb-rs-svc.mongodb.svc.cluster.local', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongodb-rs-1.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed')>, <ServerDescription ('mongodb-rs-2.mongodb-rs-svc.mongodb.svc.cluster.local', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongodb-rs-2.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed')>]>

I have a connection string that I am able to connect via MongoDB.Driver .NET and mongosh but when I am using pymongo - throws the error below.

Here is what I am using for pymongo

from pymongo import MongoClient
client = MongoClient('mongodb://user:[email protected]:27033')

for db in client.list_databases():
    print(db)

This is what I have for .NET

var client = new MongoClient("mongodb://user:[email protected]:27033");
var database = client.GetDatabase("database");
var collection = database.GetCollection<BsonDocument>("collection");

and this is what I use for mongosh

mongosh  mongodb://user:[email protected]:27033

I am able to connect with .NET and mongosh but not pymongo with the error below:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\mongo_client.py", line 1686, in list_databases
    res = admin._retryable_read_command(cmd, session=session)
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\database.py", line 613, in _retryable_read_command
    return self.__client._retryable_read(
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\mongo_client.py", line 1305, in _retryable_read
    server = self._select_server(
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\mongo_client.py", line 1137, in _select_server
    server = topology.select_server(server_selector)
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\topology.py", line 242, in select_server
    servers = self.select_servers(
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\topology.py", line 200, in select_servers
    server_descriptions = self._select_servers_loop(
  File "C:\Users\us60684\AppData\Local\Programs\Python\Python38\lib\site-packages\pymongo\topology.py", line 216, in _select_servers_loop
    raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: mongodb-rs-2.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed,mongodb-rs-0.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed,mongodb-rs-1.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed, Timeout: 30s, Topology Description: <TopologyDescription id: 627ad1f7d3b2c705e2c52e52, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('mongodb-rs-0.mongodb-rs-svc.mongodb.svc.cluster.local', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongodb-rs-0.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed')>, <ServerDescription ('mongodb-rs-1.mongodb-rs-svc.mongodb.svc.cluster.local', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongodb-rs-1.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed')>, <ServerDescription ('mongodb-rs-2.mongodb-rs-svc.mongodb.svc.cluster.local', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongodb-rs-2.mongodb-rs-svc.mongodb.svc.cluster.local:27017: [Errno 11001] getaddrinfo failed')>]>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文