MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Extraire deux valeurs de sous-tableau dans mongodb par $elemMatch

Ce n'est pas possible directement en utilisant find et elemMatch en raison de la limitation suivante de elemMatch et mongo array fields .

et limitations du champ de tableau mongo comme ci-dessous

Donc, soit vous avez essayé de suivre ceci pour découvrir uniquement exam ou quiz

db.collectionName.find({"_id":22,"scores":{"$elemMatch":{"type":"exam"}}},{"scores.$.type":1}).pretty()

n'affiche que exam tableau des scores.

Sinon, vous devez passer par aggregation