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.