sql >> Database >  >> NoSQL >> MongoDB

Verkeerd aantal documenten in MongoDB-shardcluster

count geeft een geschat aantal en is mogelijk niet nauwkeurig. Gebruik countDocuments om een ​​nauwkeurige telling te krijgen.

U kunt de bron van getShardDistribution lezen door db.users.getShardDistribution . te typen in de schil. Het lijkt informatie te gebruiken die is opgeslagen in de configuratiedatabase.

Het is redelijk te verwachten dat de statistieken opgeslagen door de database zijn niet precies nauwkeurig. Dit komt omdat het kosten met zich meebrengt om ze up-to-date te houden wanneer er ergens in het cluster een bewerking wordt uitgevoerd.

Het lijkt erop dat u naar statistieken kijkt op een bepaald moment nadat sommige chunks van de ene shard naar de andere zijn gekopieerd en voordat deze chunks uit de oorspronkelijke shard zijn verwijderd. In deze situatie worden de gegevens twee keer opgeslagen in het cluster. De statistieken kloppen in dit geval niet. Gebruik countDocuments voor een nauwkeurige telling .




  1. Hoe kan ik alle velden uitschakelen, behalve een bekende set velden?

  2. MongoDB $setOnInsert

  3. Mongoose Prive Chat Bericht Model

  4. mongodb haalt het hele document uit een waarde