如何使用pymongo clien获取端口名和端口号列表

2024-06-25 05:31:04 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用pymongo客户端获取主机名和端口号? 我试过了客户端.HOST以及客户端.PORT但其返回的默认值localhost为27017 还有,我试过客户端.host其返回的MongoDB客户端对象如下

MongoClient(host=['mgdb-raspoc-npd2-1.xxxxx.com:27066', 'mgdb-raspoc-npd3-1.xxxxx.com:27066', 'mgdb-raspoc-npd1-1.xxxxx.com:27066'], document_class=dict, tz_aware=False, connect=True, serverselectiontimeoutms=6000, replicaset='raspoc', authsource='admin')

我正在寻找如下主机名和端口号列表

['mgdb-raspoc-npd2-1.xxxxx.com:27066', 'mgdb-raspoc-npd3-1.xxxxx.com:27066', 'mgdb-raspoc-npd1-1.xxxxx.com:27066']

Tags: comlocalhosthost客户端port主机名xxxxxpymongo
2条回答

使用客户端.nodes返回frozenset(frozenset的元素是主机名和端口的元组)。你知道吗

from pymongo import MongoClient
client = MongoClient('mongodb+srv://user:password@cluster0-p0odn.mongodb.net/test')
print(client.nodes) #modify as you need

这可以通过primarysecondariesarbiterspymongo.mongo_client.MongoClient属性来计算。e、 g.

from itertools import chain
//...
seeds = [
    (host, port)
    for host, port in chain([client.primary], client.secondaries, client.arbiters)
]

相关问题 更多 >