pymongo pymongo.errors.ServerSelectionTimeoutError: Could not reach any servers in [('localhost', 27017)]

代码
myclient = pymongo.MongoClient("mongodb://root:xxx@192.168.30.xxx:27017/xxx?authSource=admin")
mydb = myclient["xxx"]
mycol = mydb["xxx"]

报错全文

pymongo.errors.ServerSelectionTimeoutError: Could not reach any servers in [('localhost', 27017)]. Replica set is configured with internal hostnames or IPs?, Timeout: 30s, Topology Description: <TopologyDescription id: 6673d766f36938e3f8b3bc51, topology_type: ReplicaSetNoPrimary, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27017: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')>]>

已经配置了ip,还显示localhostxxx,网上说是因为MongoClient默认HOST是localhost

这个其实不重要,参考google上搜到的,然后自己测试,得出解决办法

myclient = pymongo.MongoClient("mongodb://root:xxx@192.168.30.xxx:27017/?directConnection=true")
mydb = myclient["xxx"]
mycol = mydb["xxx"]

重点是directConnection=true,不太理解,反正解决了

 

posted @   你说夕阳很美  阅读(160)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2023-06-20 利用pyautogui处理IE下载文件另存为
点击右上角即可分享
微信分享提示