Bird
Raised Fist0
MongoDBquery~5 mins

Projection for selecting fields in MongoDB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is projection in MongoDB?
Projection is a way to select only specific fields from documents in a collection, so you get only the data you need.
Click to reveal answer
beginner
How do you exclude a field using projection in MongoDB?
Set the field to 0 in the projection object to exclude it. For example, { fieldName: 0 } excludes that field.
Click to reveal answer
beginner
How do you include multiple fields in a MongoDB projection?
Set each field you want to include to 1 in the projection object. For example, { name: 1, age: 1 } includes only name and age fields.
Click to reveal answer
intermediate
Can you mix including and excluding fields in MongoDB projection?
No, except for the _id field. You either include fields (set to 1) or exclude fields (set to 0), but not both at the same time.
Click to reveal answer
beginner
What is the default behavior of MongoDB if no projection is specified?
MongoDB returns the entire document with all fields when no projection is specified.
Click to reveal answer
In MongoDB, how do you select only the 'name' and 'age' fields from documents?
A{ name: true, age: true }
B{ name: 0, age: 0 }
C{ name: 1, age: 1 }
D{ name: 'include', age: 'include' }
What happens if you set a field to 0 in a MongoDB projection?
AThe field is excluded from the result
BThe field is included in the result
CThe query fails
DThe field is renamed
Can you exclude the '_id' field in a MongoDB projection?
AYes, by setting '_id' to 0
BNo, '_id' is always included
COnly if you include other fields
DOnly in aggregation pipelines
Which of the following is NOT allowed in MongoDB projection?
AIncluding multiple fields
BMixing inclusion and exclusion of fields except '_id'
CExcluding multiple fields
DExcluding '_id' field
If you do not specify a projection in a MongoDB find query, what is returned?
AAn error occurs
BOnly the '_id' field
CNo fields are returned
DThe entire document with all fields
Explain how to use projection in MongoDB to include only certain fields in your query results.
Think about how you tell MongoDB which fields to show.
You got /3 concepts.
    Describe the rules and limitations when mixing inclusion and exclusion in MongoDB projections.
    Remember the special case with the _id field.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does projection do in a MongoDB query?
      easy
      A. It selects which fields to include or exclude in the query result.
      B. It sorts the documents in the collection.
      C. It updates the documents in the collection.
      D. It deletes documents from the collection.

      Solution

      1. Step 1: Understand the purpose of projection

        Projection in MongoDB is used to specify which fields to include or exclude in the output of a query.
      2. Step 2: Differentiate projection from other operations

        Sorting, updating, and deleting are different operations and not related to projection.
      3. Final Answer:

        It selects which fields to include or exclude in the query result. -> Option A
      4. Quick Check:

        Projection = Select fields [OK]
      Hint: Projection picks fields to show, not to sort or update [OK]
      Common Mistakes:
      • Confusing projection with sorting
      • Thinking projection updates data
      • Assuming projection deletes documents
      2. Which of the following is the correct syntax to include only the name and age fields in a MongoDB find query?
      easy
      A. { name: 1, age: 1 }
      B. { name: true, age: true }
      C. { name: 'include', age: 'include' }
      D. { name: 0, age: 0 }

      Solution

      1. Step 1: Recall projection syntax

        In MongoDB, to include fields, you set them to 1 in the projection document.
      2. Step 2: Check each option

        { name: 1, age: 1 } uses 1 correctly; { name: true, age: true } uses true which is valid in MongoDB; { name: 'include', age: 'include' } uses strings which is invalid; { name: 0, age: 0 } excludes fields instead of including.
      3. Final Answer:

        { name: 1, age: 1 } -> Option A
      4. Quick Check:

        Include fields = 1 [OK]
      Hint: Use 1 to include fields, not strings [OK]
      Common Mistakes:
      • Using strings like 'include'
      • Using 0 to include fields
      3. Given the collection documents:
      { _id: 1, name: "Alice", age: 25, city: "NY" }
      { _id: 2, name: "Bob", age: 30, city: "LA" }

      What will be the result of the query db.collection.find({}, { name: 1, city: 1 })?
      medium
      A. [{ _id: 1, age: 25 }, { _id: 2, age: 30 }]
      B. [{ name: "Alice", city: "NY" }, { name: "Bob", city: "LA" }]
      C. [{ _id: 1, name: "Alice", city: "NY" }, { _id: 2, name: "Bob", city: "LA" }]
      D. [{ name: "Alice", age: 25, city: "NY" }, { name: "Bob", age: 30, city: "LA" }]

      Solution

      1. Step 1: Understand default _id behavior

        By default, MongoDB includes the _id field unless explicitly excluded.
      2. Step 2: Check projection fields

        The query includes name and city fields with 1, so these fields plus _id will appear.
      3. Final Answer:

        [{ _id: 1, name: "Alice", city: "NY" }, { _id: 2, name: "Bob", city: "LA" }] -> Option C
      4. Quick Check:

        Projection includes fields + _id by default [OK]
      Hint: Projection includes _id unless set to 0 [OK]
      Common Mistakes:
      • Assuming _id is excluded by default
      • Expecting age field in result
      • Confusing included and excluded fields
      4. What is wrong with this MongoDB query to exclude the password field?
      db.users.find({}, { password: 1 })
      medium
      A. The syntax for projection is incorrect.
      B. It includes the password field instead of excluding it.
      C. You cannot exclude fields in MongoDB projection.
      D. The query will return an error because password is a reserved word.

      Solution

      1. Step 1: Understand projection values

        Setting a field to 1 includes it; setting to 0 excludes it.
      2. Step 2: Analyze the query

        The query sets password: 1, so it includes the password field (and _id), not excludes it.
      3. Final Answer:

        It includes the password field instead of excluding it. -> Option B
      4. Quick Check:

        Use 0 to exclude fields [OK]
      Hint: Use 0 to exclude fields, 1 to include [OK]
      Common Mistakes:
      • Using 1 to exclude fields
      • Thinking password is reserved word
      • Believing exclusion is not possible
      5. You want to fetch documents from a collection but exclude the _id and password fields while including all others. Which projection is correct?
      hard
      A. { _id: 1, password: 1 }
      B. { _id: 1, password: 0 }
      C. { _id: 0, password: 1 }
      D. { _id: 0, password: 0 }

      Solution

      1. Step 1: Understand exclusion in projection

        Setting fields to 0 excludes them from the result.
      2. Step 2: Apply exclusion to _id and password

        To exclude both _id and password, set both to 0 in the projection.
      3. Final Answer:

        { _id: 0, password: 0 } -> Option D
      4. Quick Check:

        Exclude fields with 0, include others by default [OK]
      Hint: Set unwanted fields to 0, others stay included [OK]
      Common Mistakes:
      • Mixing inclusion and exclusion in projection
      • Forgetting to exclude _id explicitly
      • Setting excluded fields to 1