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

Размерът на масива за агрегиране на Mongo DB е по-голям от съответствието

С aggregate :

db.companies.aggregate([
  { $match:  { "founded_year":2004 } },
  { $project: { founded_year:1,  
                moreThanFive: { $gt: [ {$size: "$external_links" }, 5 ] } } },
  { $match: { moreThanFive : true }} ,
])

Ще трябва да:
1. Включете $project етап, за да намерите броя на инвестициите (size от масива) и проверете дали е по-голямо от 5.
2. и след това направете друго $match етап за филтриране на тези с moreThanFive е равно на true .

С find :

db.companies.find({'investments.5': {$exists: true}})

Питате дали позиция номер 6 в investments съществува масив.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Избутване на стойност към масива, ако ключът не съществува Mongoose

  2. Как да преброим появата на всяка стойност в масива?

  3. Изисквания за използване на MongoDB транзакции

  4. 4 начина за актуализиране на документ в MongoDB

  5. Как да използвате $regex в $or като агрегиращ израз