Dies liegt daran, dass Sie einen Sparse-Index für bcoded_metadata
verwenden . Wenn Sie einen Sparse-Index für bcoded_metadata haben, enthält der Index keine Dokumente, die das Feld bcoded_metadata
nicht haben . Die Dokumente ohne die bcoded_metadata
-Feld sind nicht Teil Ihrer ursprünglichen Abfrage, daher gibt "count" 0 zurück.
Wenn Sie nur die Suche ausführen:db.ts.find({"bcoded_metadata" : { "$exists" : false } })
dann bekommst du auch keine ergebnisse. Sie können entweder einen Non-Sparse-Index verwenden oder mit db.ts.count();
eine vollständige Zählung durchführen und subtrahieren Sie das Ergebnis von db.ts.find({"bcoded_metadata" : { "$exists" : true } })
Ergebnis.
Es gibt ein JIRA-Ticket, das es etwas ausführlicher erklärt und nachverfolgt werden kann, falls MongoDB eine Fehler-/Warnmeldung dafür erhält:https://jira.mongodb.org/browse/SERVER-3918