sql >> Base de Datos >  >> NoSQL >> MongoDB

Combinando dos $existe en MongoDB .find

Su consulta tiene un par de problemas, pruebe a continuación uno:

db.getCollection("dtc")
  .find({
    "payload.fields.MDI_CC_DIAG_DTC_LIST": { $exists: true },
    "payload.asset": { $exists: true }
  })
  .count();

Problemas:

  1. .find() tomaría dos argumentos .find({...},{...}) el primero es el filtro (Todos los filtros contra la colección van aquí) y el segundo es la proyección (que se usa para excluir o incluir ciertos campos de los documentos de resultados). Aquí estás pasando en 3 argumentos. Pero en general cuando se trata de node.js La tercera podría ser una función de devolución de llamada, pero no tiene nada que ver con la consulta real que se ejecuta en la base de datos.
  2. No existe tal cosa llamada {multi: true} en .find() . multi se pasará como tercera opción/arg a .actualizar() operaciones para actualizar varios documentos que coincidan con los criterios filtrados.