sql >> Databasteknik >  >> NoSQL >> MongoDB

Fel räkning av dokument i MongoDB shard kluster

count ger ett uppskattat antal och kanske inte är korrekt. Använd countDocuments för att få en korrekt räkning.

Du kan läsa källan till getShardDistribution genom att skriva db.users.getShardDistribution i skalet. Det verkar använda information lagrad i konfigurationsdatabasen.

Det är ganska rimligt att förvänta sig att statistiken som lagras av databasen är inte exakt korrekta. Detta beror på att det kostar att ha dem uppdaterade närhelst någon operation utförs var som helst i klustret.

Du verkar titta på statistik vid en tidpunkt efter att några bitar har kopierats från en skärva till en annan och innan dessa bitar har tagits bort från den ursprungliga skärpan. I denna situation lagras data två gånger i klustret. Statistiken är inte korrekt i det här fallet. För att få en korrekt räkning, använd countDocuments .




  1. Hur tar man bort dokument efter fråga effektivt i mongo?

  2. Cosmos DB felkod 400 när ett nytt dokument skapades

  3. MongoDB misslyckas med att starta - ***avbryter efter fassert()-fel

  4. Hur kapslar jag ett löfte i en annan löftesfunktion i node.js?