MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So suchen Sie in mongodb in einem Array von Objekten

Der richtige Weg ist:

db.users.find({awards: {$elemMatch: {award:'National Medal', year:1975}}})

$elemMatch ermöglicht es Ihnen, mehr als eine Komponente innerhalb desselben Array-Elements abzugleichen.

Ohne $elemMatch mongo wird nach Benutzern mit der Nationalmedaille in einigen Jahren und einigen Auszeichnungen im Jahr 1975 suchen, aber nicht nach Benutzern mit der Nationalmedaille im Jahr 1975.

Weitere Informationen finden Sie in der MongoDB $elemMatch-Dokumentation. Weitere Informationen zum Abfragen von Dokumenten mit Arrays finden Sie in der Read Operations-Dokumentation.