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

Como projetar apenas campos correspondentes da matriz aninhada na consulta do shell mongo


Ok, o truque foi a estrutura de agregação, especificamente descontrair .
> db.mytest.aggregate({$unwind: '$top'},
                      {$unwind: '$top.nest'},
                      {$match: {'top.nest.p': 6}}
  )

Embora no caso de eu ter várias subcorrespondências em um único objeto, isso retornaria vários resultados em vez de em sua forma agrupada original. Suponho que posso colocar um $group no encanamento, no entanto.

Embora os links relacionados eu encontrei sugerissem o redesenho do esquema como a única correção completa no momento, então isso é definitivamente melhor do que nada.