Je to proto, že pro bcoded_metadata používáte řídký index . Pokud máte řídký index na bcoded_metadata, pak index nebude obsahovat dokumenty, které nemají pole bcoded_metadata . Dokumenty bez bcoded_metadata pole nejsou součástí vašeho původního dotazu, a proto "count" vrátí 0.
Pokud spustíte pouze find:db.ts.find({"bcoded_metadata" : { "$exists" : false } }) pak také nedostanete žádné výsledky. Můžete buď použít index, který není řídký, nebo provést úplný počet pomocí db.ts.count(); a odečtěte výsledek db.ts.find({"bcoded_metadata" : { "$exists" : true } }) výsledek.
Existuje lístek JIRA, který to vysvětluje trochu více a lze jej sledovat v případě, že MongoDB obdrží chybovou/varovnou zprávu:https://jira.mongodb.org/browse/SERVER-3918