Mongo DB Developer Course from MongoDB University
Mongo DB Documentation:
https://university.mongodb.com/exams/C100DEV/about
After completing the course I started with MongoDB definitive Guide by : Kristina Chodorow. Good is easy to learn the concepts and do a good practise.
http://shop.oreilly.com/product/0636920028031.do
Prep Notes:
Query:
db.blog.posts.insert([{"content":"This is my blog","comments":[{"comment":"good post","author":"John","votes":0},{"comment":"i tought it was too short","author":"Claire","votes":3},{"comment":"free watches","author":"Alice","votes":-1}]}])
Result:
db.blog.posts.find().pretty()
{
"_id" : ObjectId("54487a802b56097402b6cde3"),
"content" : "This is my blog",
"comments" : [
{
"comment" : "good post",
"author" : "John",
"votes" : 0
},
{
"comment" : "i tought it was too short",
"author" : "Claire",
"votes" : 3
},
{
"comment" : "free watches",
"author" : "Alice",
"votes" : -1
}
]
}
$inc for incrementing the integer value in a collection
db.blog.posts.update({"content":"This is my blog"},{"$inc":{"comments.0.votes":1}})
By using $ only the first occurrence of John would be replaced to Jim.
db.blog.posts.update({"comments.author":"John"},{"$set":{"comments.$.author":"Jim"}})
setOnInsert is used for a field which gets set and it's values cannot be changed further:
db.users.update({}, {"$setOnInsert" : {"createdAt" : new Date()}}, true)
save function:
save is a shell function that lets you insert a document if it doesn't exist and update if it does.
Updating multiple documents:
The 4th arguments true means update all matched documents. If false is passed first matched document would be updated.
db.users.update({"birthday" : "10/13/1978"},{"$set" : {"gift" : "Happy Birthday!"}}, false, true)
Here n=5 means that 5 records were affected in the last query:
db.runCommand({getLastError : 1})
{
"err" : null,
"updatedExisting" : true,
"n" : 5,
"ok" : true
}
Inorder to get the last updated document we can use the findAndModify command.
Write concern is a client setting used to describe how safely a write should be stored
before the application continues. The two basic write concerns are acknowledged or unacknowledged writes.
Units | Topics | ||||
---|---|---|---|---|---|
Week 1: Introduction | Overview, Design Goals, the Mongo Shell, JSON Intro, Installing Tools, Overview of Blog Project. Maven, Spark and Freemarker Intro | ||||
Week 2: CRUD | Mongo Shell, Query Operators, Update Operators and a Few Commands | ||||
Week 3: Schema Design | Patterns, Case Studies & Tradeoffs | ||||
Week 4: Performance | Using Indexes, Monitoring And Understanding Performance. Performance In Sharded Environments | ||||
Week 5: Aggregation Framework | Goals, The Use Of The Pipeline, Comparison With SQL Facilities. | ||||
Week 6: Application Engineering | Drivers, Impact Of Replication And Sharding On Design And Development. | ||||
Week 7: Case Studies | Interview with Jon Hoffman, foursquare and Interview with Ryan Bubunksi, codecademy | ||||
http://docs.mongodb.org/manual/core/crud-introduction/
https://university.mongodb.com/exams/C100DEV/about
Required MongoDB Knowledge
- Philosophy & Features: features and performance, JSON, BSON, fault tolerance, disaster recovery, horizontal scaling, and the Mongo shell
- CRUD: Create, Read, Update, and Delete operations
- Data Modeling: embedding, references, document growth, modeling one-to-one and one-to-many relationships, modeling for atomic operations, modeling tree structures
- Indexing: single key, compound, multi-key, geospatial indexes and queries, unique indexes, and performance
- Aggregation: pipeline, operators, memory usage, sort, skip, and limit
- Replication: concepts and components, write concern, elections, and failover
- Sharding: concepts and components, shard keys, and hashed shard keys
After completing the course I started with MongoDB definitive Guide by : Kristina Chodorow. Good is easy to learn the concepts and do a good practise.
http://shop.oreilly.com/product/0636920028031.do
Prep Notes:
Query:
db.blog.posts.insert([{"content":"This is my blog","comments":[{"comment":"good post","author":"John","votes":0},{"comment":"i tought it was too short","author":"Claire","votes":3},{"comment":"free watches","author":"Alice","votes":-1}]}])
db.blog.posts.find().pretty()
{
"_id" : ObjectId("54487a802b56097402b6cde3"),
"content" : "This is my blog",
"comments" : [
{
"comment" : "good post",
"author" : "John",
"votes" : 0
},
{
"comment" : "i tought it was too short",
"author" : "Claire",
"votes" : 3
},
{
"comment" : "free watches",
"author" : "Alice",
"votes" : -1
}
]
}
$inc for incrementing the integer value in a collection
db.blog.posts.update({"content":"This is my blog"},{"$inc":{"comments.0.votes":1}})
By using $ only the first occurrence of John would be replaced to Jim.
db.blog.posts.update({"comments.author":"John"},{"$set":{"comments.$.author":"Jim"}})
Upsert is some thing which gets inserted while we do an update
db.users.update({"rep" : 25}, {"$inc" : {"rep" : 3}}, true)
setOnInsert is used for a field which gets set and it's values cannot be changed further:
db.users.update({}, {"$setOnInsert" : {"createdAt" : new Date()}}, true)
save function:
save is a shell function that lets you insert a document if it doesn't exist and update if it does.
Updating multiple documents:
The 4th arguments true means update all matched documents. If false is passed first matched document would be updated.
db.users.update({"birthday" : "10/13/1978"},{"$set" : {"gift" : "Happy Birthday!"}}, false, true)
Here n=5 means that 5 records were affected in the last query:
db.runCommand({getLastError : 1})
{
"err" : null,
"updatedExisting" : true,
"n" : 5,
"ok" : true
}
Inorder to get the last updated document we can use the findAndModify command.
Write concern is a client setting used to describe how safely a write should be stored
before the application continues. The two basic write concerns are acknowledged or unacknowledged writes.
How many questions are there in 90 minutes that we need to solve? What is the complexity level?
ReplyDeleteAll up coming C100DEV exams will be based on MongoDB 3.0. I think ongoDB definitive Guide by : Kristina Chodorow won't be much useful as it is written with earlier version of MongoDB not 3.0
ReplyDeleteThe second version of the book will be useful
ReplyDeleteThe second version of the book will be useful
ReplyDeleteGreat. Shall we practice any mock exams online?
DeleteHi Gopi here, can I get sample questions for MongoDB for Developers C100DEV.
ReplyDeleteCleared the certification, some of my notes might help others - https://github.com/abhishekkhare/MongoDBJ/wiki
ReplyDeleteHey, how much studying did you need to do, to clear the certification? I am assuming it is the the 90minute actual certification, NOT the class that is offered. I am really curious about the pacing of your studying etc..
Delete