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

Extraia dois valores de sub-matriz no mongodb por $elemMatch


Isso não é possível diretamente usando find e elemMatch devido à seguinte limitação de elemMatch e mongo array fields .

e limitações de campo de matriz mongo como abaixo

Então, ou você tentou seguir isso para descobrir apenas exam ou quiz
db.collectionName.find({"_id":22,"scores":{"$elemMatch":{"type":"exam"}}},{"scores.$.type":1}).pretty()

é mostra apenas exam matriz de pontuações.

Caso contrário, você deve passar por aggregation