MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Combiner deux $exists en MongoDB .find

Votre requête a quelques problèmes, essayez ci-dessous :

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

Problèmes :

  1. .find() prendrait deux arguments .find({...},{...}) le premier étant le filtre (tous les filtres contre la collection vont ici) et le second est la projection (qui est utilisée pour exclure ou inclure certains champs des documents de résultat). Ici, vous passez en 3 arguments. Mais en général quand il s'agit de node.js La troisième pourrait être une fonction de rappel, mais cela n'a rien à voir avec l'exécution réelle de la requête sur la base de données.
  2. Il n'y a pas une telle chose appelée {multi: true} sur .find() . multi sera transmis comme 3ème option/arg à .update() opérations afin de mettre à jour plusieurs documents correspondant à des critères filtrés.