MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongo $exists заявката не връща правилни документи

Това е така, защото използвате разреден индекс за 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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. DynamoDB срещу MongoDB NoSQL

  2. как да заявите данни в масив от колекцията с помощта на mongoose

  3. как да актуализирате колекция Mongo.db в meteor.js?

  4. Автоматично увеличение в MongoDB за съхраняване на последователност от уникален потребителски идентификатор

  5. Кой е най-добрият начин за съхраняване на рождени дати в MongoDB?