sql >> Database >  >> NoSQL >> MongoDB

Mongo $exists query retourneert geen correcte documenten

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




  1. Spring data Match en filter geneste array

  2. SQL COALESCE() uitgelegd

  3. MongoDB samengestelde indexen - Is de sorteervolgorde van belang?

  4. Waarom werkt deze opdracht msiexec.exe niet in powershell?