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

mongodb заявка за съпоставяне на всеки елемент в масива doc с условие

Не мисля, че все още има начин да направите това, освен ръчно итериране на вашите документи и проверка на всяка стойност в масива. Това ще бъде доста бавно, защото трябва да изпълнява JavaScript на всеки документ и не може да се възползва от никакъв индекс над col.values .

Дори $където Заявката за израз на JavaScript не изглежда да работи тук, защото вероятно защото заявката съдържа обратно извикване и е твърде сложна:

db.col.find("this.values.every(function(v) { return (v > 1 && v < 5) })")

Редактиране: За някои заявки, включително тази, JavaScript $където изразът се нуждае от израз за връщане, така че това работи добре:

db.col.find("return this.values.every(function(v) { return (v > 1 && v < 5) })")


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Запитване за масиви от вложени обекти

  2. Как да получите текущата заетост на пула за връзки на клиент с помощта на mongo .net драйвер?

  3. Изчислете броя на вложените обекти с C#

  4. MongoDB:най-добрият дизайн за приложение за съобщения

  5. Вложени коментари в MongoDB