Aggregation $project
This aggregation stage passes only the specified fields along to the next aggregation stage.
This is the same projection that is used with the
find()method.
Example
In this example, we are using the "sample_restaurants" database loaded from the sample data in the Intro to Aggregations section.
db.restaurants.aggregate([
{
$project: {
"name": 1,
"cuisine": 1,
"address": 1
}
},
{
$limit: 5
}
])
This will return the documents but only include the specified fields.
Notice that the
_idfield is also included. This field is always included unless specifically excluded.
We use a 1 to include a field and 0 to exclude a field.
Note: You cannot use both 0 and 1 in the same object. The only exception is the
_idfield. You should either specify the fields you would like to include or the fields you would like to exclude.