MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Contagem incorreta de documentos no cluster de fragmentos do MongoDB


count fornece uma contagem estimada e pode não ser precisa. Use countDocuments para obter uma contagem precisa.

Você pode ler a fonte de getShardDistribution digitando db.users.getShardDistribution na casca. Parece usar informações armazenadas no banco de dados de configuração.

É bastante razoável esperar que as estatísticas armazenados pelo banco de dados não são exatamente precisos. Isso ocorre porque há um custo para mantê-los atualizados sempre que qualquer operação for executada em qualquer lugar do cluster.

Você parece estar olhando para as estatísticas em um momento depois que alguns fragmentos foram copiados de um fragmento para outro e antes que esses fragmentos sejam removidos do fragmento original. Nesta situação, os dados são armazenados duas vezes no cluster. As estatísticas não são precisas neste caso. Para obter uma contagem precisa, use countDocuments .