根据文档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/"