* Make hostnameMaxLen an environment variable.
In our Mongo cluster, we have 2 shards equalling 7 hosts that come in as a long comma-delimited list of host names. This hostNameMaxLen of 255 should not apply to a mongo connection string like that:
mongodb://<USER>:<PASSWORD>@MYCLUSTER-shard-00-00.luszb.azure.mongodb.net:27016,MYCLUSTER-shard-00-01.luszb.azure.mongodb.net:27016,MYCLUSTER-shard-00-02.luszb.azure.mongodb.net:27016,MYCLUSTER-shard-00-03.luszb.azure.mongodb.net:27016,MYCLUSTER-shard-02-00.luszb.azure.mongodb.net:27016,MYCLUSTER-shard-02-01.luszb.azure.mongodb.net:27016,MYCLUSTER-shard-02-02.luszb.azure.mongodb.net:27016/dev?ssl=true&authSource=admin
We was using the SRV mongo connection string type which is much shorter:
mongodb+srv://<USER>:<PASSWORD>@MYCLUSTER-luszb.azure.mongodb.net/dev
But we were finding it to be unreliable with Azure's DNS. We rarely change our cluster configuration, so having the long connection string would be more reliable
If these changes should be approached in some other manner, I'd be happy to do that.
* Update mongodbUrl.js
Co-authored-by: Diamond Lewis <findlewis@gmail.com>
* allow setting readpreference when using rest api.
* take out partially complete unit test.
* oops. nit
* Include read preference option for find directly from api and adding few more tests
* Adding catch for all tests
* Keep same check for get and find
* Turn read preference case insensitive
* Includes and subqueries read preferences through API
* Fixing bugs regarding changes that were done in master branch during the last year
* Changing behavior to make includeReadPreference and subqueryReadPreference to follow readPreference by default
* Not sure how this got introduced without lint catching either in the upgrade of a lib or a pr on these files, but innocuous enough that i don't think we need to investigate further?
* Update eslint to make all happy!