sql >> Base de Datos >  >> NoSQL >> MongoDB

Recuento incorrecto de documentos en el clúster de fragmentos de MongoDB

count proporciona un recuento estimado y puede no ser exacto. Utilice countDocuments para obtener un recuento exacto.

Puede leer la fuente de getShardDistribution escribiendo db.users.getShardDistribution en la concha Parece que usa información almacenada en la base de datos de configuración.

Es bastante razonable esperar que las estadísticas almacenados por la base de datos no son exactamente precisos. Esto se debe a que existe un costo para que estén actualizados cada vez que se realiza una operación en cualquier parte del clúster.

Parece que está mirando las estadísticas en un momento dado después de que se hayan copiado algunos fragmentos de un fragmento a otro y antes de que estos fragmentos se eliminen del fragmento original. En esta situación, los datos se almacenan dos veces en el clúster. Las estadísticas no son precisas en este caso. Para obtener un recuento preciso, utilice countDocuments .