MongoDB Documentation, Release 3.0.4 This operation returns all documents that match the query. In the result set, only the item and qty fields return in the matching documents. To exclude a single field or group of fields you can use a projection in the following form: db.inventory.find( { type: 'food' }, { type:0 } ) This operation returns all documents where the value of the type field is food . In the result set, the type field does not return in the matching documents. With the exception of the _id field you cannot combine inclusion and exclusion statements in projection documents. Use the dot notation (page 171) to return specific fields inside an embedded document. For example, the inventory collection contains the following document: The following operation returns all documents that match the query. The specified projection returns only the category field in the classification document. The returned category field remains inside the classification document. The operation returns the following document: For fields that contain arrays, MongoDB provides the following projection operators: $elemMatch , $slice , and $ . { "classification" : { "category" : "chocolate" } } For example, the inventory collection contains the following document: { "_id" : 5, "type" : "food", "item" : "aaa", "ratings" : [ 5, 8, 9 ] } Then the following operation uses the $slice projection operator to return just the first two elements in the ratings array. db.inventory.find( { _id: 5 }, { ratings: { $slice: 2 } } ) $elemMatch , $slice , and $ are the only way to project portions of an array. For instance, you cannot project a portion of an array using the array index; e.g. { "ratings.0": 1 } projection will not project the array with the first element. Chapter 3. MongoDB CRUD Operations 108 Projection for Array Fields db.inventory.find( { type: 'food', _id: 3 }, { "classification.category": 1, _id: 0 } ) { "_id" : 3, "type" : "food", "item" : "aaa", "classification": { dept: "grocery", category: "chocolate" } } Return Specific Fields in Embedded Documents Return All But the Excluded Field