Sua consulta tem alguns problemas, tente abaixo um:
db.getCollection("dtc")
.find({
"payload.fields.MDI_CC_DIAG_DTC_LIST": { $exists: true },
"payload.asset": { $exists: true }
})
.count();
Problemas:
- .find()
receberia dois argumentos
.find({...},{...})
o primeiro é o filtro (todos os filtros contra a coleta vão aqui) e o segundo é a projeção (que é usada para excluir ou incluir determinados campos dos documentos de resultados). Aqui você está passando em 3 argumentos. Mas, em geral, quando se trata de node.js A terceira pode ser uma função de retorno de chamada, mas não tem nada a ver com a consulta real sendo executada no banco de dados. - Não existe tal coisa chamada
{multi: true}
em.find()
.multi
será passado como 3ª opção/arg para .atualizar() operações para atualizar vários documentos que correspondem aos critérios filtrados.