MongoDB Documentation, Release 3.0.4 In the following example, the query matches all documents where the value of the field producer is an embedded document that contains only the field company with the value ’ABC123’ and the field address with the value ’123 Street’ , in the exact order: Use the dot notation to match by specific fields in an embedded document. Equality matches for specific fields in an embedded document will select documents in the collection where the embedded document contains the specified fields with the specified values. The embedded document can contain additional fields. In the following example, the query uses the dot notation to match all documents where the value of the field producer is an embedded document that contains a field company with the value ’ABC123’ and may contain other fields: db.inventory.find( { 'producer.company': 'ABC123' } ) When the field holds an array, you can query for an exact array match or for specific values in the array. If the array holds embedded documents, you can query for specific fields in the embedded documents using dot notation . If you specify multiple conditions using the $elemMatch operator, the array must contain at least one element that satisfies all the conditions. See Single Element Satisfies the Criteria (page 99). If you specify multiple conditions without using the $elemMatch operator, then some combination of the array elements, not necessarily a single element, must satisfy all the conditions; i.e. different elements in the array can satisfy different parts of the conditions. See Combination of Elements Satisfies the Criteria (page 99). Consider an inventory collection that contains the following documents: To specify equality match on an array, use the query document { <field>: <value> } where <value> is the array to match. Equality matches on the array require that the array field match exactly the specified <value> , including the element order. The following example queries for all documents where the field ratings is an array that holds exactly three ele- ments, 5 , 8 , and 9 , in this order: db.inventory.find( { ratings: [ 5, 8, 9 ] } ) Exact Match on an Array Arrays Equality Match on Fields within an Embedded Document db.inventory.find( { producer: { company: 'ABC123', address: '123 Street' } } ) { _id: 5, type: "food", item: "aaa", ratings: [ 5, 8, 9 ] } { _id: 6, type: "food", item: "bbb", ratings: [ 5, 9 ] } { _id: 7, type: "food", item: "ccc", ratings: [ 9, 5, 8 ] } 98 Chapter 3. MongoDB CRUD Operations