Puedes verificar la sincronización comparando5 los hashes MD de las colecciones sincronizadas desde el clúster de origen al clúster de destino. Si bien la comparación de hashes garantiza que el clúster de destino haya recibido todos los cambios del origen, el dbHash comando bloquea el clúster, impidiendo escrituras adicionales hasta que finalice. Este proceso también puede ser mucho más lento que la verificación mediante el recuento de documentos.
Acerca de esta tarea
No es posible realizar una comparación de hash en clústeres fragmentados.
Si necesitas sincronizar un clúster fragmentado o una versión anterior de MongoDB, o si los bloqueos no son aceptables para la carga de trabajo de tu aplicación, utiliza un método de verificación diferente.
Pasos
Recuperar el hash de origen
Ejecute el comando en el clúster de origen. En dbHash el collections campo, enumere cada colección incluida en la sincronización. Luego, devuelva el md5 campo de salida:
db.runCommand({ dbHash: 1, collections: [ "accounts.us_accounts", "accounts.eu_accounts", ... ]}).md5
d41d8cd98f00b204e9800998ecf8427e
Mientras ejecuta este comando, recupere el hash de destino.
Recuperar el hash de destino
Ejecute el comando en el clúster de destino. En dbHash el collections campo, enumere cada colección incluida en la sincronización. Luego, devuelva el md5 campo de salida:
db.runCommand({ dbHash: 1, collections: [ "accounts.us_accounts", "accounts.eu_accounts", ... ]}).md5
d41d8cd98f00b204e9800998ecf8427e
Toma nota del hash.