sql >> Database teknologi >  >> NoSQL >> MongoDB

Forkert antal dokumenter i MongoDB shard cluster

count giver et estimeret antal og er muligvis ikke nøjagtigt. Brug countDocuments for at få en nøjagtig optælling.

Du kan læse kilden til getShardDistribution ved at skrive db.users.getShardDistribution i skallen. Det ser ud til at bruge information gemt i konfigurationsdatabasen.

Det er ganske rimeligt at forvente, at statistikken gemt af databasen er ikke helt nøjagtige. Dette skyldes, at det koster at have dem opdateret, når der udføres en operation hvor som helst i klyngen.

Du ser ud til at se på statistik på et tidspunkt, efter at nogle bidder er blevet kopieret fra et skår til et andet, og før disse bidder er fjernet fra det originale skår. I denne situation lagres data to gange i klyngen. Statistikken er ikke korrekt i dette tilfælde. For at opnå en nøjagtig optælling skal du bruge countDocuments .




  1. MongoDB $runde

  2. Sådan returneres flere værdier ved hjælp af Go Mongo Distinct

  3. Samlet forespørgsel med where condition

  4. Mongoose Mongodb forespørger på en række objekter