sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongo DB-aggregationsarraystørrelse større end match

Med aggregate :

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

Du skal:
1. Inkluder et $project fase for at finde antallet af investeringer (size af arrayet), og kontroller, om det er større end 5.
2. og lav derefter endnu en $match trin for at filtrere dem med moreThanFive er lig med true .

Med find :

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

Du spørger om position nummer 6 i investments array findes.




  1. Opdatering af flere underdokumenter via Mongoose?

  2. Azure-funktion med Cosmos MongoDB-integration gemmer ikke

  3. MongoDB listeSamlingsfilter

  4. Tilføj sekundært replikasæt i samme maskine?