Bird
Raised Fist0
MongoDBquery~10 mins

Insert with arrays in MongoDB - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to insert a document with an array field into the collection.

MongoDB
db.students.insertOne({ name: "Alice", grades: [1] })
Drag options to blanks, or click blank then click option'
A[85, 90, 78]
B{85, 90, 78}
C"85, 90, 78"
D(85, 90, 78)
Attempts:
3 left
💡 Hint
Common Mistakes
Using curly braces {} which define objects, not arrays.
Using parentheses () which are not valid for arrays.
Using a string instead of an array.
2fill in blank
medium

Complete the code to insert multiple documents with arrays into the collection.

MongoDB
db.students.insertMany([ { name: "Bob", courses: [1] }, { name: "Carol", courses: ["Math", "Science"] } ])
Drag options to blanks, or click blank then click option'
A["History", "Art"]
B"History, Art"
C{"History", "Art"}
D("History", "Art")
Attempts:
3 left
💡 Hint
Common Mistakes
Using curly braces which define objects, not arrays.
Using parentheses which are invalid for arrays.
Using a string instead of an array.
3fill in blank
hard

Fix the error in the code to correctly insert a document with an array field.

MongoDB
db.students.insertOne({ name: "Dave", hobbies: [1] })
Drag options to blanks, or click blank then click option'
A"reading, swimming, hiking"
B{reading, swimming, hiking}
C(reading, swimming, hiking)
D["reading", "swimming", "hiking"]
Attempts:
3 left
💡 Hint
Common Mistakes
Using a single string instead of an array.
Using curly braces which define objects.
Using parentheses which are invalid for arrays.
4fill in blank
hard

Fill both blanks to insert a document with an array of objects representing books.

MongoDB
db.library.insertOne({ owner: "Eve", books: [ { title: [1], pages: [2] } ] })
Drag options to blanks, or click blank then click option'
A"The Hobbit"
B310
C"1984"
D250
Attempts:
3 left
💡 Hint
Common Mistakes
Putting numbers in quotes.
Not using quotes for strings.
Mixing up the order of title and pages.
5fill in blank
hard

Fill all three blanks to insert multiple documents with arrays of tags.

MongoDB
db.posts.insertMany([ { title: [1], tags: [2] }, { title: [3], tags: ["mongodb", "database"] } ])
Drag options to blanks, or click blank then click option'
A"Introduction to MongoDB"
B["nosql", "database"]
C"Advanced Queries"
D["queries", "performance"]
Attempts:
3 left
💡 Hint
Common Mistakes
Using objects instead of arrays for tags.
Not quoting the titles.
Using parentheses instead of square brackets.

Practice

(1/5)
1. What does the insertMany() method do in MongoDB?
easy
A. Inserts multiple documents into a collection at once
B. Deletes multiple documents from a collection
C. Updates multiple documents in a collection
D. Finds multiple documents in a collection

Solution

  1. Step 1: Understand the purpose of insertMany()

    The insertMany() method is used to add several documents to a MongoDB collection in one operation.
  2. Step 2: Compare with other operations

    Deleting, updating, or finding documents are done by other methods like deleteMany(), updateMany(), and find().
  3. Final Answer:

    Inserts multiple documents into a collection at once -> Option A
  4. Quick Check:

    insertMany() = Inserts multiple documents [OK]
Hint: insertMany() adds many documents in one call [OK]
Common Mistakes:
  • Confusing insertMany() with update or delete methods
  • Thinking insertMany() inserts only one document
  • Assuming insertMany() returns documents instead of inserting
2. Which of the following is the correct syntax to insert multiple documents using insertMany()?
easy
A. db.collection.insertMany('name: Alice', 'name: Bob')
B. db.collection.insertMany({name: 'Alice'}, {name: 'Bob'})
C. db.collection.insertMany([{name: 'Alice'}, {name: 'Bob'}])
D. db.collection.insertMany(name: 'Alice', name: 'Bob')

Solution

  1. Step 1: Check the parameter type for insertMany()

    The method requires an array of documents, so the argument must be inside square brackets [].
  2. Step 2: Validate the options

    Only db.collection.insertMany([{name: 'Alice'}, {name: 'Bob'}]) correctly passes an array of objects. The other options pass multiple arguments or wrong types, causing syntax errors.
  3. Final Answer:

    db.collection.insertMany([{name: 'Alice'}, {name: 'Bob'}]) -> Option C
  4. Quick Check:

    insertMany() needs an array of documents [OK]
Hint: Use square brackets [] to pass multiple documents [OK]
Common Mistakes:
  • Passing documents without array brackets
  • Using multiple arguments instead of one array
  • Using strings instead of objects for documents
3. What will be the result of this code?
db.users.insertMany([
  {name: 'John', age: 25},
  {name: 'Jane', age: 30}
])
const count = db.users.countDocuments()
medium
A. Syntax error occurs
B. count will be 1
C. count will be 0
D. count will be 2

Solution

  1. Step 1: Understand insertMany() effect

    The insertMany() call inserts two documents into the users collection.
  2. Step 2: Count documents after insertion

    The countDocuments() method returns the total number of documents in the collection, which is 2 after insertion.
  3. Final Answer:

    count will be 2 -> Option D
  4. Quick Check:

    2 documents inserted, countDocuments() = 2 [OK]
Hint: insertMany() adds all docs; countDocuments() counts them [OK]
Common Mistakes:
  • Assuming countDocuments() runs before insertMany() completes
  • Thinking insertMany() inserts only one document
  • Confusing countDocuments() with count() method
4. Identify the error in this MongoDB insertMany() usage:
db.products.insertMany(
  {name: 'Pen', price: 1.5},
  {name: 'Pencil', price: 0.5}
)
medium
A. insertMany() cannot insert more than one document
B. Missing array brackets around documents
C. Documents have invalid field names
D. Using insertOne() instead of insertMany()

Solution

  1. Step 1: Check the argument format for insertMany()

    The method requires a single array containing all documents, but here documents are passed as separate arguments.
  2. Step 2: Identify the fix

    Wrapping the documents inside square brackets [] fixes the syntax: insertMany([{...}, {...}]).
  3. Final Answer:

    Missing array brackets around documents -> Option B
  4. Quick Check:

    insertMany() needs an array of documents [OK]
Hint: Always wrap multiple docs in [] for insertMany() [OK]
Common Mistakes:
  • Passing multiple documents as separate arguments
  • Confusing insertMany() with insertOne()
  • Assuming insertMany() accepts objects directly without array
5. You want to insert a list of users but only those with an age above 18. Which MongoDB operation correctly inserts only the valid users?
const users = [
  {name: 'Anna', age: 17},
  {name: 'Ben', age: 20},
  {name: 'Cara', age: 22}
];
// Which code inserts only users older than 18?
hard
A. db.users.insertMany(users.filter(u => u.age > 18))
B. db.users.insertMany(users)
C. db.users.insertMany(users.map(u => u.age > 18))
D. db.users.insertMany(users.filter(u => u.age < 18))

Solution

  1. Step 1: Filter users by age before insertion

    Use JavaScript's filter() to keep only users with age greater than 18.
  2. Step 2: Pass filtered array to insertMany()

    Passing the filtered array inserts only valid users. Inserting all users includes invalid ones, mapping to booleans creates invalid documents, and filtering under 18 selects the wrong users.
  3. Final Answer:

    db.users.insertMany(users.filter(u => u.age > 18)) -> Option A
  4. Quick Check:

    Filter first, then insertMany() [OK]
Hint: Filter array before insertMany() to insert selected docs [OK]
Common Mistakes:
  • Inserting all users without filtering
  • Using map instead of filter, causing wrong data
  • Filtering with wrong condition (age < 18)