Detta beror på att du använder ett sparsamt index för bcoded_metadata
. Om du har ett sparsamt index på bcoded_metadata, kommer indexet inte att innehålla de dokument som inte har fältet bcoded_metadata
. Dokumenten utan bcoded_metadata
fältet är inte en del av din ursprungliga fråga, och därför returnerar "count" 0.
Om du bara kör sökningen:db.ts.find({"bcoded_metadata" : { "$exists" : false } })
då får du inget resultat heller. Du kan antingen använda ett icke-glest index eller göra en fullständig räkning med db.ts.count();
och subtrahera resultatet av db.ts.find({"bcoded_metadata" : { "$exists" : true } })
resultat.
Det finns en JIRA-biljett som förklarar det lite mer och kan spåras i fall MongoDB får ett fel-/varningsmeddelande för detta:https://jira.mongodb.org/browse/SERVER-3918