Това е така, защото използвате разреден индекс за bcoded_metadata
. Ако имате разреден индекс на bcoded_metadata, тогава индексът няма да съдържа документите, които нямат полето bcoded_metadata
. Документите без bcoded_metadata
не са част от първоначалната ви заявка и следователно „count“ ще върне 0.
Ако стартирате само намирането:db.ts.find({"bcoded_metadata" : { "$exists" : false } })
тогава също няма да получите никакви резултати. Можете или да използвате неразреден индекс, или да направите пълно преброяване с db.ts.count();
и извадете резултата от db.ts.find({"bcoded_metadata" : { "$exists" : true } })
резултат.
Има билет за JIRA, който го обяснява малко повече и може да бъде проследен, в случай че MongoDB получи съобщение за грешка/предупреждение за това:https://jira.mongodb.org/browse/SERVER-3918