セットアップしたクラスターのテストでいくつかのテストを実行しています。現在、1 つのマスター、1 つのスレーブ、および 1 つのアービターを備えた 3 つのノード クラスターがあります。
次のような接続文字列があります
mongodb://admin:pass@the_slave_node,the_master_node
接続文字列に固有の機能の 1 つは、複数のホストを提供すると、クライアント側にある程度の回復力が導入されるという印象を受けました。the_slave_node をダウンさせたときに、php ドライバーが移動して the_master_node に接続しようとしていることを期待していましたが、そうではないようで、代わりにエラーが発生します。
The MongoCursor object has not been correctly initialized by its constructor
MongoClient が最初の接続を作成する責任があることを知っています。実際、コードではそのようになっています。したがって、このエラーは、MongoClient が正しく接続されておらず、正しいエラー チェックを実装していないことを示しています。しかし、それは別の問題です -
少なくとも 1 つのホストが稼働中で、一部のホストが停止している場合に、MongoClient が hosts csv 内の少なくとも 1 つのホストに接続することを保証するにはどうすればよいですか?
ありがとうございました