如何在mongodb+srv方案中使用自定义服务名称



根据文档https://www.mongodb.com/docs/v4.4/reference/connection-string/#std-标签连接dns种子列表mongodb+srv://server.example.com/相当于_mongodb._tcp.server.example.com记录。

但是,我有多个Mongo服务,我想连接到_mymongodb._tcp.server.example.com。如何指定使用mymongodb服务名称而不是mongodb?我盯着文件看了好几个小时,似乎找不到。

这是不可能的,字符串_mongodb._tcp以主机名为前缀,并且它在源代码中是硬编码的。https://github.com/mongodb/mongo/blob/3e63636e66ced4aed6d1aaaafcdca7ae19cf96f2/src/mongo/client/mongo_uri.cpp#L408

唯一可能的方法是手动处理,例如在Linux shell中使用:

srvs=$(dig +short SRV _mymongodb._tcp.server.example.com | awk '{print $4":"$3}' | paste -d,)
mongo "mongodb://$srvs/"

相关内容

  • 没有找到相关文章

最新更新