MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

La combinazione di due $esiste in MongoDB .find

La tua query presenta un paio di problemi, prova sotto uno :

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

Problemi :

  1. .find() richiederebbe due argomenti .find({...},{...}) il primo è il filtro (tutti i filtri contro la raccolta vanno qui) e il secondo è la proiezione (che viene utilizzata per escludere o includere determinati campi dai documenti dei risultati). Qui stai passando in 3 arg. Ma in generale quando si tratta di node.js La terza potrebbe essere una funzione di callback ma non ha nulla a che fare con la query effettiva eseguita sul database.
  2. Non esiste una cosa chiamata {multi: true} su .find() . multi verrà passato come 3a opzione/arg a .aggiornamento() operazioni per aggiornare più documenti corrispondenti a criteri filtrati.