MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Die Größe des Mongo-DB-Aggregationsarrays ist größer als die Übereinstimmung

Mit aggregate :

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

Sie müssen:
1. Fügen Sie ein $project hinzu Phase, um die Anzahl der Investitionen zu finden (die size des Arrays), und prüfen Sie, ob dieser größer als 5 ist.
2. und führen Sie dann ein weiteres $match durch Stufe, um diejenigen mit moreThanFive herauszufiltern gleich true .

Mit find :

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

Sie fragen, ob die Positionsnummer 6 in den investments ist Array existiert.