Esto se debe a que utiliza un índice disperso para bcoded_metadata
. Si tiene un índice disperso en bcoded_metadata, entonces el índice no contendrá los documentos que no tienen el campo bcoded_metadata
. Los documentos sin los bcoded_metadata
no forman parte de su consulta original y, por lo tanto, "recuento" devolverá 0.
Si ejecuta solo la búsqueda:db.ts.find({"bcoded_metadata" : { "$exists" : false } })
entonces tampoco obtendrás ningún resultado. Puede usar un índice no disperso o hacer un conteo completo con db.ts.count();
y reste el resultado de db.ts.find({"bcoded_metadata" : { "$exists" : true } })
resultado.
Hay un ticket de JIRA que lo explica un poco más, y se puede rastrear en caso de que MongoDB adquiera un mensaje de error/advertencia para esto:https://jira.mongodb.org/browse/SERVER-3918