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