sql >> Databasteknik >  >> NoSQL >> MongoDB

Kan inte få en täckt fråga för fragmenterad samling i MongoDB

Som i MongoDB 2.6 kommer du inte att få en fullständigt täckt fragmenterad fråga eftersom det finns en extra fråga för att kontrollera om fragmentet i fråga äger det dokumentet (se SERVER-5022 i MongoDB issue tracker).

mongos routern filtrerar dokument som finns på en shard men som inte borde finnas där enligt sharded klustermetadata.

Dokument kan finnas på mer än en shard om:

  • Det finns en chunk-migrering pågår:dokument kopieras från en givare shard till en destination shard och tas inte bort från donator shard förrän bitmigreringen har slutförts.

  • Dokument har blivit "föräldralösa" på en skärva som ett resultat av en misslyckad migrering eller ofullständig sanering. Det finns en cleanupOrphaned admin kommando i MongoDB 2.6 som kan köras mot en delad mongod för att radera föräldralösa dokument.

Denna täckta frågebegränsning noteras i gränserna:Täckta frågor i delade kluster avsnittet i MongoDB-dokumentationen men bör också markeras i handledningen på Skapa täckta frågor . Jag har tagit upp DOCS-3820 för att göra detta mer uppenbart.




  1. Hur man lagrar en tabell med en viss kolumn bör lagras i array och hämta den i Angularjs (Mean Stack)

  2. Hämta n:te elementet i en array i MongoDB

  3. Hur ansluter jag Django Rest-api med MongoDB?

  4. MongoDB till DynamoDB