Complete MongoDB aggregation pipeline course
HTML-код
- Опубликовано: 21 ноя 2024
- Welcome to a youtube channel dedicated to programming and coding related tutorials. We talk about tech, write code, discuss about cloud and devops. That’s what we do all day, all year. We roll out a lot of series and videos on our channel.
All the learning resources such as code files, documentations, articles and community discussions are available on our website:
chaicode.com/
You can find our discord link, github link etc on the above website.
Twitter/X link: x.com/hiteshdo...
Discord link: hitesh.ai/discord
Learn React with 10 projects: • Let's learn react from...
Learn Docker: • A practical guide on D...
Learn Kubernetes: • Complete Kubernetes Co...
How does a browser works: • How does a browser wor...
How nodejs works: • How node JS works | En...
Learn Redux-toolkit: • Learn Redux Toolkit in...
Learn NextJS: • Nextjs Full stack course
Learn Typescript: • Why to learn Typescript
Learn Javascript: • Welcome to new JavaScr...
Learn React Native: • React Native Mastery: ...
Learn Zustand: • React state management...
Learn Golang: • How to get started wit...
Just a quick note, you can use any data for this video. I don't own this data. Half of it was taken from online and half of it was generated by ChatGPT. Data is not important here, these questions and use cases are important and these were were totally designed by me.
Thanks and please share 😁
gist.github.com/hiteshchoudhary/a80d86b50a5d9c591198a23d79e1e467
Some additional tips
1) Always think TWICE when you are using operators like "$unwind' because it is very costly operator because it creates multiple copies of a same documents. Try to think some other possible solution. Some costly operators are: "$lookup", "$unwind", "$facet", etc.
2) It is a best practice to use $project after the $group stage in the pipeline because "by default, mongodb return a BSON object and not a JSON object" and BSON object have more properties than a JSON object. So using the $project, you can get the JSON object You can study this point for more knowledge.
3) If the size of your document is big, then always use ".allowDiscUse(true)" in your aggregation pipeline.
4) When dealing with larger chunks of data, use "cursor" and "batchSize" approach.
Although not always used, the .allowDiskUse(true) option causes MongoDB to create temporary files on disk and use these files to perform aggregation operations. Since disk I/O is much slower than memory I/O, In some cases, allowing disk usage may strain performance.
Ya using unwind can cuases problem too so for that need to know about arrayElment like operators ,the point you are saying totally aggree with that
tx for this information i never know that and I use this operators in many queries from now on I will mind this things before using
"08:30" - Create collection in Mongodb cluster and inserting data via Mongodb extension from vs code
"15:14" - How to use aggregation pipeline inside Mongodb
* Use $ sign with operator and field name*
"18:38" - count operator with match "31:19" - sum with grouping avoid count "48:46"- Avoid using count with group bad
"22:15" - grouping by _id with "$filed" "24:06"- grouping all by null
"24:42" - grouping and getting avg via $avg
"33:02" - filtering on 2nd stage via sort
" 35:36" - summarizing questions
"51:52" - Nested drilling and sorting and limiting***
question is, how do we put it in code if you are using node.js for example?
I'm quite impressed with this video. I tried learning the MongoDB aggregation pipeline two years ago. I could not grasp it. With this video, I am confident to apply it to my Node.js backend projects with ease. It has also helped to learn how to use the MongoDB docs. With this, I will watch your other videos due to your easy way of teaching. More grease to your elbow.
I don't understand what kind of content people want in the world of paid classes? These videos are totally free. is this the reason of not getting credit? Let's appreciate his explanation and please show some support i don't want him to stop making videos.
Guruji aapki is series ki first video se hi dekh rha hu
Gratitude to Hitesh Choudhary for the insightful MongoDB aggregation pipeline tutorial! His expertise and clear explanations have been instrumental in enhancing my understanding of this powerful feature. Thank you, Hitesh, for your valuable contribution to the developer community!"
[
{
$unwind: {
path: "$tags",
}
},
{
$group: {
_id: "$_id",
count: {
$sum: 1
}
}
},{
$group: {
_id: null,
avg: {
$avg: "$count"
}
}
}
]
$unwind: This operator breaks up the array field ($tags) into individual documents. If a document has 3 elements in the tags array, it will create 3 separate documents, each containing one element from the array.
$group: The first $group groups these documents back together by their original _id. It counts how many documents were created for each _id, which corresponds to the number of elements in the tags array for each user.
$group: The second $group aggregates these counts into a single document and calculates the average ($avg) number of tags per user.
You taught me about pipeline aggregation in mongo db with detailed explanation....🎉 Thanks 🎉
This is best video to learn MongoDB pipeline. Thankyou sir.........
Thank you so so much Man! Such incredible work! WE ARE HAPPY WE HAVE PEOPLE LIKE YOU ON THIS PLANET!
Hi Hitesh, thank you for such an informative video about MongoDB Aggregration.
I am new to MongoDB and this is very helpful.
For those who want to take it step further to display only the author_name instead of the whole object 🤓 :
[
{
$lookup: {
from: "authors",
localField: "author_id",
foreignField: "_id",
as: "author_details"
}
},
{
$addFields: {
author_details: {$arrayElemAt: ["$author_details", 0]}
}
},
{
$addFields: {
author_name: "$author_details.name"
}
},
{
$project: {
author_name: 1, id: 1, genre: 1, author_id: 1, title: 1
}
}
]
First, thank you for your excellent explanation, I loved the course, enjoyed it a lot, and learned from it. but I would like to add a point, you said at the beginning of the course that this tutorial is for beginners which is not necessary because, this is my first time studying MongoDB aggregation and MongoDB in general, but I do have a background in Software Enginnering. However, I find the course perfect for first learning and global all the basics needed to start working with MongoDB Aggregations, but not enough for more advanced and complex queries. so I recommend you to add a course for advanced and complex queries. we will appreciate it a lot. Thank you!!!
I think you taught aggregtion better in english compared to tut on chai aur code
This is gold. This is the best tutorial on MongoDB out there. It is nice and easy to follow thank you, bro🙏🙏
You help me a lot in learning MongoDB operations besides those for CRUD. I am more confident in using aggregation pipeline to collect statistic information now. Thanks you for your work! Expecting your new video on Tailwindcss...
Thanks for your unique way of tutorials, with practical implementation and assignments. Learnt MongoDB and feeling confident in same. Also this helped me in Javascript Backend assignment.
Really liked your way of teaching 😇
This is understated series...u made aggression so easy ❤❤
At 49:18 , Just wanted to tell, We can count No. of males and females using this also
[
{
$group: {
_id: '$gender',
count: {
$count: {}
}
}
}
]
But $count is generally used for counting no of documents in a stage.
In grouping use $sum instead of $count
@@AliHaider-tr9rm Yup
Great video on aggregation. Thank you Hitesh! I think we can have more scenarios like operations on array of objects (and when some fields don't exist in some documents). These are more challenging in real life.
Nice video sir! Will surely implement this in my side project!
thank you very much for sharing, this is very very very very insightful, you 've just saved me a lot of time of wondering up and down to understand aggregation pipeline
Really good course! Love your energy, very easy to follow along with the different missions
Glad you enjoy it!
this can be another way the question
Q. number of users which have "ad" as a tag at index 2
[
{
$unwind: {
path: "$tags",
includeArrayIndex: "arrayindex",
},
},
{
$match: {
$and: [
{
arrayindex: 1,
},
{
tags: "ad",
},
],
},
},
{
$count: 'users'
}
]
omg, I can't believe this is the best video on MongoDB aggregation pipeline
You are a career maker. love from UAE
Thank you sir. This vid took my mongo knowledge at next level ❤❤
Guruji aap aap mahaan hoo❤❤
Amazing way of teaching. Thank you so much!
thank you sir ♥ ♥
The video helped me a lot to complete your JS backend assignment.
Your ChaiAurBackend series is awesome, too
If anyone is not able to use the regex expression as shown in the video use this instead
[
{
$match: {
phone:{
$regex: "^\\+1"
}
}
},
{
$count:"Number starting from +1"
}
]
we want more videos on MongoDB Aggregation Pipeline
Thanks so much for this tutorial.Could you take it a little further by actually writing a backend NodeJs to utilize those query results of the aggregation.I mean how to use it in the backend
in node you can use it like you might have used products.find() method or products.findByID() method, in the same way you can use product.Aggregate() and inside parenthesis write your aggregation query. If that helps ✌.
@@sidhantdhyani9567 : Perfect!!!! That solves my query and it has helped me so much. Now i am beginning to like mongodb.
This video is awesome 😁😁
Thanks Hitesh
Thank you very much. It helps me a lot
Can u make video on indexing too
you have nailed it, Bro! ❤🔥
Thanks much Hitesh
Really helpful video! I learned alot
great explanation sir
Keep watching
Sir can you make a video on Docker & K8s? That would be really helpful :)
Thank you sir, for important tutorial
I just needed this! thanks so much!
hii sir love from chai aur code😃😆
Thanks for the tutorial ❤.
Thanks a lot sir for this tutorial❤❤
east or best bhai is best
thank you so. much sir
awesome content
I miss LCO
Excited 🎉
Sir es video ko hindi mai layea please so that I can learn properly
Helpful, Thanks
🤟🤘
Sir mongo DB को हिंदी मैं लाहो sir plz......
best video
Bro can make me software enginner in month!
great course
Sir, could ypu help us with a mongo db aggregation project as it is almost impossible to find a good one it will help us get to know more how this is used in production live projects
It’s going on at my Hindi channel
Thank you sir ❤
thanks
Its amazing ❤
Great! Thanks.
Ok sir
great tutorial tysm
I am not able to find any good D3 js tutorial video ?? Any suggestions.
thank you sir :)
Where can i get the list of questions??
Sir, I am not able to access lco app and website.Its saying contact Admin.Please help
Thanks ❤❤
Sir app aggregation ki Hindi me video bda doo
It looks like array.map().filter().reduce().
Sorry sir I cannot purchase your paid course bacause you say that real developer is that who do self not watch only tutorial
nice video
Sir 1 on 1 kese baat kr skte hai aap se ?
Hello ❤sir ji
wow😮😮
❤❤
❤
ok
👍
#chaiaurcode
Hey
❤❤❤❤❤❤❤❤❤❤❤
Not able to understand, what is being happening here . Kabhi kabhi bolte hai aap free course sa kuch a to z mil jayega. kabhi backend ka 6999 rs lete hai
though course is good
Hi sir
Hlo sir ji
nice video
Hi sir