sql >> Databáze >  >> NoSQL >> MongoDB

Kombinace dvou $exists en MongoDB .find

Váš dotaz má několik problémů, zkuste níže jeden:

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

Problémy:

  1. .find() by trvalo dva argumenty .find({...},{...}) první je filtr (Všechny filtry proti kolekci jsou zde) a druhý je projekce (která se používá k vyloučení nebo zahrnutí určitých polí z výsledných dokumentů). Tady předáváte 3 argy. Ale obecně, pokud jde o node.js Třetí by mohla být funkce zpětného volání, ale to nemá nic společného se skutečným dotazem prováděným v databázi.
  2. Žádná taková věc s názvem {multi: true} neexistuje na .find() . multi bude předán jako 3. možnost/argument .update() operace za účelem aktualizace více dokumentů vyhovujících filtrovaným kritériím.


  1. Prototyp objektu Node.JS může být pouze objekt nebo null s Redis

  2. MongoDB - dětská a rodičovská struktura

  3. Nastavit kvótu databáze MongoDB (SIZE)

  4. Poslouchejte události opětovného připojení v ovladači MongoDB