This example switches to the myDatabase database and inserts one book document into the books collection.
MongoDB
use myDatabase
// Insert a new book document into the books collection
db.books.insertOne({ title: "Learn MongoDB", author: "Sam", pages: 200 })
OutputSuccess
Important Notes
The insertOne method returns an object confirming the insert and the new document's ID.
If you insert a document without an _id, MongoDB creates one automatically.
Make sure the document matches your collection's expected structure to avoid confusion later.
Summary
insertOne adds a single document to a MongoDB collection.
It returns confirmation and the new document's unique ID.
Use it when you want to save one new piece of data at a time.
Practice
(1/5)
1. What does the insertOne method do in MongoDB?
easy
A. Adds a single document to a collection
B. Deletes a document from a collection
C. Updates multiple documents in a collection
D. Finds documents matching a query
Solution
Step 1: Understand the purpose of insertOne
The insertOne method is designed to add exactly one new document to a MongoDB collection.
Step 2: Compare with other operations
Deleting, updating, or finding documents are different operations and use other methods like deleteOne, updateMany, or find.
Final Answer:
Adds a single document to a collection -> Option A
Quick Check:
insertOne = Adds one document [OK]
Hint: insertOne always adds exactly one document [OK]
Common Mistakes:
Confusing insertOne with update or delete methods
Thinking insertOne adds multiple documents
Assuming insertOne returns the document itself
2. Which of the following is the correct syntax to insert a document with insertOne in MongoDB?
easy
A. db.collection.insertOne['name', 'Alice', 'age', 25]
B. db.collection.insertOne({name: 'Alice', age: 25})
C. db.collection.insertOne('name: Alice, age: 25')
D. db.collection.insertOne(name='Alice', age=25)
Solution
Step 1: Identify correct method call format
The insertOne method requires a single document as an object inside parentheses.
Step 2: Check each option's syntax
db.collection.insertOne({name: 'Alice', age: 25}) uses correct JavaScript object notation inside parentheses. Options B, C, and D use incorrect syntax for MongoDB commands.
Final Answer:
db.collection.insertOne({name: 'Alice', age: 25}) -> Option B
Quick Check:
insertOne uses object in parentheses [OK]
Hint: Use curly braces inside parentheses for insertOne [OK]
Common Mistakes:
Using square brackets instead of parentheses
Passing a string instead of an object
Using assignment syntax inside insertOne
3. What will be the output of the following code?
const result = db.users.insertOne({username: 'john_doe', active: true});
printjson(result);
medium
A. An error because printjson is not defined
B. The inserted document itself
C. { acknowledged: true, insertedId: ObjectId('...') }
D. An empty object {}
Solution
Step 1: Understand insertOne return value
The insertOne method returns an object with acknowledged true and the insertedId of the new document.
Step 2: Analyze printjson output
Printing the result shows this object, not the document itself or an error.
Final Answer:
{ acknowledged: true, insertedId: ObjectId('...') } -> Option C
Quick Check:
insertOne returns confirmation object [OK]
Hint: insertOne returns status and new document ID [OK]
Common Mistakes:
Expecting the inserted document as output
Thinking printjson causes an error
Assuming insertOne returns empty object
4. Identify the error in this code snippet:
db.products.insertOne(name: 'Book', price: 15);
medium
A. Missing curly braces around the document
B. insertOne cannot insert documents with price field
C. Using semicolon instead of comma between fields
D. insertOne requires two arguments
Solution
Step 1: Check document syntax for insertOne
The document to insert must be an object enclosed in curly braces {}.
Step 2: Identify the error in the code
The code passes fields without curly braces, which is invalid syntax for insertOne.
Final Answer:
Missing curly braces around the document -> Option A
Quick Check:
insertOne needs object with braces [OK]
Hint: Always wrap inserted data in curly braces { } [OK]
Common Mistakes:
Omitting curly braces for the document
Using semicolons inside object literal
Thinking insertOne needs multiple arguments
5. You want to insert a user document with fields name, email, and age. Which insertOne call correctly adds this document and returns the new document's ID?
hard
A. const res = db.users.insertOne('name: Eva, email: eva@example.com, age: 30'); return res.insertedId;
B. const res = db.users.insertOne(['name', 'Eva', 'email', 'eva@example.com', 'age', 30]); return res.insertedId;
C. const res = db.users.insertOne({name: 'Eva', email: 'eva@example.com', age: 30}); return res;
D. const res = db.users.insertOne({name: 'Eva', email: 'eva@example.com', age: 30}); return res.insertedId;
Solution
Step 1: Verify correct document format and method usage
The document must be an object with keys and values inside curly braces. The insertOne method returns an object containing insertedId.
Step 2: Check return value for new document ID
const res = db.users.insertOne({name: 'Eva', email: 'eva@example.com', age: 30}); return res.insertedId; correctly returns res.insertedId, which is the new document's unique ID. const res = db.users.insertOne({name: 'Eva', email: 'eva@example.com', age: 30}); return res; returns the whole result object, not just the ID. Options A and B use wrong argument types.
Final Answer:
const res = db.users.insertOne({name: 'Eva', email: 'eva@example.com', age: 30}); return res.insertedId; -> Option D
Quick Check:
insertOne returns insertedId in result [OK]
Hint: insertOne returns insertedId inside result object [OK]
Common Mistakes:
Passing array or string instead of object
Returning whole result instead of insertedId
Not wrapping fields in curly braces
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.