MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Tamanho da matriz de agregação do Mongo DB maior que a correspondência

Com aggregate :

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

Você precisará:
1. Incluir um $project etapa, para encontrar o número de investimento (o size do array) e verifique se é maior que 5.
2. e então faça outro $match stage para filtrar aqueles com moreThanFive igual a true .

Com find :

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

Você pergunta se a posição número 6 nos investments matriz existe.