Sembra che sia MongoClient sia MongoReplicaSetClient possano connettersi ai set di repliche mongo. In effetti, le loro pagine di documentazione sono quasi identiche - stesse opzioni, stessi metodi, ecc. - tranne che il costruttore di quest'ultimo mi richiede di specificare una replica.pymongo: vantaggio dell'utilizzo di MongoReplicaSetClient?
In entrambi i casi, è possibile specificare una preferenza di lettura. In entrambi i casi, dobbiamo gestire l'eccezione di AutoReconnect se si verifica un passaggio.
Quindi le mie domande sono:
Perché si potrebbe usare uno contro l'altro, dal momento che si può eseguire le stesse operazioni esatte con entrambi?
Entrambi possono eseguire letture secondarie, correggere? La documentazione dice che il vantaggio di un ReplicaSetClient è che possiamo eseguire letture secondarie, ma clearly sono supportate in entrambi.
Il numero documentation indica che ReplicaSetClient dispone di "monitoraggio dello stato delle repliche". Cosa significa esattamente? Ci sono nuovi metodi che posso richiamare che mi dicono della salute di un replset che non posso fare altrimenti con MongoClient?
In theory un MongoReplicaSetClient si connetterà a tutti i membri del replset, piuttosto che a uno solo. Questo è falso: puoi munge o omettere nessuno dei server nella stringa di connessione, e sia MongoClient che MongoReplicaSetClient sono ancora in grado di connettersi. Mi sto perdendo qualcosa?
A proposito, PyMongo 3 unirà MongoClient e MongoReplicaSetClient in una classe chiamata "MongoClient", che terminerà questa situazione confusa. –