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 deladmongod
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.