sql >> Database >  >> NoSQL >> MongoDB

Mongo DB aggregatie array grootte groter dan match

Met aggregate :

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

U moet:
1. Voeg een $project toe fase, om het aantal investeringen te vinden (de size van de array), en controleer of dat groter is dan 5.
2. en doe dan nog een $match fase om die te filteren met moreThanFive is gelijk aan true .

Met find :

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

U vraagt ​​of de positie nummer 6 in de investments array bestaat.




  1. Databasereferenties correct verbergen

  2. Verschillende recordwaarden ophalen

  3. MongoDB:Geospatial Index-array niet in de juiste indeling

  4. Hoe $push update-modifier te gebruiken in MongoDB en C#, bij het bijwerken van een array in een document