This program creates a 'students' collection, inserts three student records at once, prints their new IDs, and then prints all students in the collection.
MongoDB
use school
db.students.drop()
// Insert multiple student recordsconst result = db.students.insertMany([
{ name: "Alice", age: 14, grade: 9 },
{ name: "Bob", age: 15, grade: 10 },
{ name: "Charlie", age: 14, grade: 9 }
])
// Show inserted IDs
printjson(result.insertedIds)
// Show all studentsconst allStudents = db.students.find().toArray()
printjson(allStudents)
OutputSuccess
Important Notes
insertMany() is faster than inserting one document at a time.
By default (ordered: true), if one document fails, preceding documents are inserted but subsequent ones are not.
Remember to check the result to confirm all documents were added.
Summary
Use insertMany() to add multiple documents to a MongoDB collection at once.
Documents are passed as an array inside insertMany().
This method helps save time and keeps data organized.
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
Step 1: Understand the purpose of insertMany()
The insertMany() method is used to add several documents to a MongoDB collection in one operation.
Step 2: Compare with other operations
Deleting, updating, or finding documents are done by other methods like deleteMany(), updateMany(), and find().
Final Answer:
Inserts multiple documents into a collection at once -> Option A
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
Step 1: Check the parameter type for insertMany()
The method requires an array of documents, so the argument must be inside square brackets [].
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.
Final Answer:
db.collection.insertMany([{name: 'Alice'}, {name: 'Bob'}]) -> Option C
Quick Check:
insertMany() needs an array of documents [OK]
Hint: Use square brackets [] to pass multiple documents [OK]
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
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.
Step 2: Identify the fix
Wrapping the documents inside square brackets [] fixes the syntax: insertMany([{...}, {...}]).
Final Answer:
Missing array brackets around documents -> Option B
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
Step 1: Filter users by age before insertion
Use JavaScript's filter() to keep only users with age greater than 18.
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.
Final Answer:
db.users.insertMany(users.filter(u => u.age > 18)) -> Option A
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)
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.