MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Kombinieren von zwei $exists en MongoDB .find

Ihre Abfrage hat einige Probleme, versuchen Sie es mit einem:

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

Probleme:

  1. .find() würde zwei Argumente nehmen .find({...},{...}) Der erste ist ein Filter (Alle Filter gegen die Sammlung gehen hierher) und der zweite ist eine Projektion (die verwendet wird, um bestimmte Felder aus Ergebnisdokumenten entweder auszuschließen oder einzuschließen). Hier übergeben Sie 3 Args. Aber im Allgemeinen, wenn es um node.js geht Die dritte könnte eine Callback-Funktion sein, hat aber nichts mit der eigentlichen Abfrage zu tun, die in der Datenbank ausgeführt wird.
  2. So etwas namens {multi: true} gibt es nicht auf .find() . multi wird als dritte Option/Argument an .update() Vorgänge, um mehrere Dokumente zu aktualisieren, die gefilterten Kriterien entsprechen.