MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Комбиниране на две $exists en MongoDB .find

Вашата заявка има няколко проблема, опитайте по-долу:

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

Проблеми:

  1. .find() ще вземе два аргумента .find({...},{...}) първият е филтър (всички филтри срещу събиране отиват тук), а вторият е проекция (която се използва за изключване или включване на определени полета от документите с резултати). Тук преминавате 3 аргумента. Но като цяло, когато става въпрос за node.js Третият може да е функция за обратно извикване, но няма нищо общо с действителната заявка, която се изпълнява в базата данни.
  2. Няма такова нещо, наречено {multi: true} на .find() . multi ще бъде предадено като 3-та опция/арг към .update() операции, за да актуализирате множество документи, отговарящи на филтрирани критерии.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ускорете търсенето на редовни изрази в MongoDB

  2. Поставете обект в масив, ако масивът съществува, в противен случай създайте масива с обект в MongoDB

  3. MongoDB Не може да канонизира заявка:BadValue Твърде много текстови изрази

  4. Има ли начин да създадете или актуализирате MongoDB индекс?

  5. Сравняване на производителността на MongoDB в публични облаци:AWS, Azure &DigitalOcean