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...

Комментарии • 101

  • @HiteshCodeLab
    @HiteshCodeLab  11 месяцев назад +32

    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

  • @tarunbidaliya9438
    @tarunbidaliya9438 10 месяцев назад +37

    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.

    • @CookerSingh
      @CookerSingh 10 месяцев назад

      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.

    • @DineshPawartech
      @DineshPawartech 10 месяцев назад

      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

    • @arindamdan8689
      @arindamdan8689 5 месяцев назад

      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

  • @Khedhar108
    @Khedhar108 9 месяцев назад +3

    "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***

    • @rodgersmora1881
      @rodgersmora1881 7 месяцев назад

      question is, how do we put it in code if you are using node.js for example?

  • @paulfleischer-djoleto4429
    @paulfleischer-djoleto4429 4 месяца назад +3

    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.

  • @tanishkagupta6864
    @tanishkagupta6864 6 месяцев назад +31

    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.

  • @Nitesh_Saini_
    @Nitesh_Saini_ 11 месяцев назад +3

    Guruji aapki is series ki first video se hi dekh rha hu

  • @Reel_InsightYT
    @Reel_InsightYT 9 месяцев назад +1

    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!"

  • @sumantabhattacharya9694
    @sumantabhattacharya9694 3 месяца назад +2

    [
    {
    $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.

  • @mutharasum9507
    @mutharasum9507 9 месяцев назад

    You taught me about pipeline aggregation in mongo db with detailed explanation....🎉 Thanks 🎉

  • @theindianmoviemantra5256
    @theindianmoviemantra5256 9 месяцев назад +1

    This is best video to learn MongoDB pipeline. Thankyou sir.........

  • @awaraamin6850
    @awaraamin6850 3 месяца назад

    Thank you so so much Man! Such incredible work! WE ARE HAPPY WE HAVE PEOPLE LIKE YOU ON THIS PLANET!

  • @thanhquachable
    @thanhquachable 10 месяцев назад +2

    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
    }
    }
    ]

  • @oumaimabenjouida6724
    @oumaimabenjouida6724 4 месяца назад

    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!!!

  • @anonyone8834
    @anonyone8834 11 месяцев назад +11

    I think you taught aggregtion better in english compared to tut on chai aur code

  • @pasej5
    @pasej5 10 месяцев назад

    This is gold. This is the best tutorial on MongoDB out there. It is nice and easy to follow thank you, bro🙏🙏

  • @albertoiong6895
    @albertoiong6895 9 месяцев назад

    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...

  • @nehabansal370
    @nehabansal370 9 месяцев назад

    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 😇

  • @manojbhamre6062
    @manojbhamre6062 7 месяцев назад

    This is understated series...u made aggression so easy ❤❤

  • @sidhantdhyani9567
    @sidhantdhyani9567 9 месяцев назад +1

    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.

  • @imaginewithrahul
    @imaginewithrahul 7 месяцев назад

    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.

  • @mainakmukhrjee6328
    @mainakmukhrjee6328 10 месяцев назад +2

    Nice video sir! Will surely implement this in my side project!

  • @DanielAdekunle-wn6pv
    @DanielAdekunle-wn6pv 4 месяца назад

    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

  • @tommymalm
    @tommymalm 2 месяца назад

    Really good course! Love your energy, very easy to follow along with the different missions

  • @ankishkhandelwal1061
    @ankishkhandelwal1061 5 месяцев назад

    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'
    }
    ]

  • @shivamprasad-jm3bg
    @shivamprasad-jm3bg 10 месяцев назад

    omg, I can't believe this is the best video on MongoDB aggregation pipeline

  • @ImthiazRagib-mn2oc
    @ImthiazRagib-mn2oc 5 месяцев назад

    You are a career maker. love from UAE

  • @vaibhav_prajapat_7725
    @vaibhav_prajapat_7725 6 месяцев назад

    Thank you sir. This vid took my mongo knowledge at next level ❤❤

  • @AmpulsePerspectives-og4ei
    @AmpulsePerspectives-og4ei 11 месяцев назад +3

    Guruji aap aap mahaan hoo❤❤

  • @saadsohail8204
    @saadsohail8204 4 месяца назад

    Amazing way of teaching. Thank you so much!

  • @jatin_9911
    @jatin_9911 9 месяцев назад

    thank you sir ♥ ♥
    The video helped me a lot to complete your JS backend assignment.
    Your ChaiAurBackend series is awesome, too

  • @ayushgarg1851
    @ayushgarg1851 8 месяцев назад

    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"
    }
    ]

  • @friderichwisniewski8154
    @friderichwisniewski8154 10 месяцев назад

    we want more videos on MongoDB Aggregation Pipeline

  • @davidmukoro1166
    @davidmukoro1166 10 месяцев назад +2

    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

    • @sidhantdhyani9567
      @sidhantdhyani9567 10 месяцев назад +2

      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 ✌.

    • @davidmukoro1166
      @davidmukoro1166 10 месяцев назад

      @@sidhantdhyani9567 : Perfect!!!! That solves my query and it has helped me so much. Now i am beginning to like mongodb.

  • @MOSELEY_DEV
    @MOSELEY_DEV 6 месяцев назад

    This video is awesome 😁😁
    Thanks Hitesh

  • @codermadushan
    @codermadushan День назад

    Thank you very much. It helps me a lot

  • @sallbro786
    @sallbro786 3 месяца назад +1

    Can u make video on indexing too

  • @shanthoshkumar57
    @shanthoshkumar57 8 месяцев назад

    you have nailed it, Bro! ❤‍🔥

  • @surendrareddyreddy1913
    @surendrareddyreddy1913 Месяц назад

    Thanks much Hitesh

  • @riseup902
    @riseup902 4 месяца назад

    Really helpful video! I learned alot

  • @yugsingh2133
    @yugsingh2133 27 дней назад

    great explanation sir

  • @CrittiZops
    @CrittiZops 10 месяцев назад

    Sir can you make a video on Docker & K8s? That would be really helpful :)

  • @Md.BulbulAhammed
    @Md.BulbulAhammed 7 месяцев назад

    Thank you sir, for important tutorial

  • @josemfcheo
    @josemfcheo 10 месяцев назад

    I just needed this! thanks so much!

  • @mozammilpagal6876
    @mozammilpagal6876 11 месяцев назад +1

    hii sir love from chai aur code😃😆

  • @Amir-tt8qw
    @Amir-tt8qw 8 месяцев назад

    Thanks for the tutorial ❤.

  • @techjagat4714
    @techjagat4714 6 месяцев назад

    Thanks a lot sir for this tutorial❤❤

  • @shivarajbandaru2216
    @shivarajbandaru2216 10 месяцев назад

    east or best bhai is best

  • @Zara-pn9im
    @Zara-pn9im 4 месяца назад

    thank you so. much sir

  • @Truth-seeker333
    @Truth-seeker333 3 месяца назад

    awesome content

  • @rohanchoudhary4034
    @rohanchoudhary4034 11 месяцев назад

    I miss LCO

  • @dasmala9175
    @dasmala9175 11 месяцев назад

    Excited 🎉

  • @JeetuKumar-wd1uw
    @JeetuKumar-wd1uw 11 месяцев назад +1

    Sir es video ko hindi mai layea please so that I can learn properly

  • @DevLife_in
    @DevLife_in 10 месяцев назад

    Helpful, Thanks
    🤟🤘

  • @Ouruniverse25
    @Ouruniverse25 10 месяцев назад +1

    Sir mongo DB को हिंदी मैं लाहो sir plz......

  • @aroobazaman2939
    @aroobazaman2939 5 месяцев назад

    best video

  • @titangaming2470
    @titangaming2470 4 месяца назад

    Bro can make me software enginner in month!

  • @mdm9b
    @mdm9b 9 месяцев назад

    great course

  • @i_vishalsah01
    @i_vishalsah01 10 месяцев назад +1

    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

    • @HiteshCodeLab
      @HiteshCodeLab  10 месяцев назад +1

      It’s going on at my Hindi channel

  • @vinod-ci5gy
    @vinod-ci5gy 10 месяцев назад

    Thank you sir ❤

  • @abhinay.k
    @abhinay.k 2 месяца назад

    thanks

  • @nigam_sharma
    @nigam_sharma 11 месяцев назад

    Its amazing ❤

  • @rishiraj2548
    @rishiraj2548 11 месяцев назад

    Great! Thanks.

  • @Skilla_code
    @Skilla_code 11 месяцев назад

    Ok sir

  • @r1shabhnegi
    @r1shabhnegi 8 месяцев назад

    great tutorial tysm

  • @VishalKumar-je1gq
    @VishalKumar-je1gq 11 месяцев назад

    I am not able to find any good D3 js tutorial video ?? Any suggestions.

  • @Shiv_Kumar_Singh__
    @Shiv_Kumar_Singh__ 11 месяцев назад

    thank you sir :)

  • @shehza-d
    @shehza-d 10 месяцев назад

    Where can i get the list of questions??

  • @AshutoshSingh-fy2xc
    @AshutoshSingh-fy2xc 10 месяцев назад

    Sir, I am not able to access lco app and website.Its saying contact Admin.Please help

  • @sandipshrestha5342
    @sandipshrestha5342 10 месяцев назад

    Thanks ❤❤

  • @bhavdeepsingh4982
    @bhavdeepsingh4982 7 месяцев назад

    Sir app aggregation ki Hindi me video bda doo

  • @jacquelynecarmen
    @jacquelynecarmen 5 месяцев назад

    It looks like array.map().filter().reduce().

  • @FreeTrial0315
    @FreeTrial0315 11 месяцев назад +3

    Sorry sir I cannot purchase your paid course bacause you say that real developer is that who do self not watch only tutorial

  • @ShubhanshuSneh-f5x
    @ShubhanshuSneh-f5x 8 месяцев назад

    nice video

  • @sujaysaha7429
    @sujaysaha7429 11 месяцев назад

    Sir 1 on 1 kese baat kr skte hai aap se ?

  • @rayansingh5246
    @rayansingh5246 11 месяцев назад

    Hello ❤sir ji

  • @mdbappihossain2997
    @mdbappihossain2997 5 месяцев назад

    wow😮😮

  • @ariyanavra1512
    @ariyanavra1512 6 месяцев назад

    ❤❤

  • @noman-i6r
    @noman-i6r 2 месяца назад

  • @walk_with_mohan
    @walk_with_mohan 10 дней назад

    ok

  • @JustUs80
    @JustUs80 11 месяцев назад

    👍

  • @shubhamkakad10x
    @shubhamkakad10x 11 месяцев назад

    #chaiaurcode

  • @onlineworld11111
    @onlineworld11111 10 месяцев назад

    Hey

  • @ravipratap2349
    @ravipratap2349 11 месяцев назад

    ❤❤❤❤❤❤❤❤❤❤❤

  • @arindamdutta7369
    @arindamdutta7369 11 месяцев назад +3

    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

  • @rakeshchoudhary894
    @rakeshchoudhary894 11 месяцев назад +1

    Hi sir

  • @rakeshchoudhary894
    @rakeshchoudhary894 11 месяцев назад

    Hlo sir ji

  • @Mr.Indianwxvhehsy9191hghgx
    @Mr.Indianwxvhehsy9191hghgx 8 месяцев назад

    nice video

  • @aloneking5388
    @aloneking5388 11 месяцев назад

    Hi sir