Dit komt omdat je een schaarse index gebruikt voor bcoded_metadata
. Als je een schaarse index hebt op bcoded_metadata, dan zal de index niet de documenten bevatten die het veld bcoded_metadata
niet hebben . De documenten zonder de bcoded_metadata
veld maken geen deel uit van uw oorspronkelijke zoekopdracht, en daarom zal "count" 0 opleveren.
Als u alleen de zoekopdracht uitvoert:db.ts.find({"bcoded_metadata" : { "$exists" : false } })
dan krijg je ook geen resultaat. U kunt een niet-sparse index gebruiken of een volledige telling uitvoeren met db.ts.count();
en trek het resultaat af van db.ts.find({"bcoded_metadata" : { "$exists" : true } })
resultaat.
Er is een JIRA-ticket dat het wat meer uitlegt, en kan worden gevolgd voor het geval MongoDB hiervoor een fout-/waarschuwingsbericht ontvangt:https://jira.mongodb.org/browse/SERVER-3918