• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Aggregation in MongoDB
 

Aggregation in MongoDB

on

  • 483 views

 

Statistics

Views

Total Views
483
Views on SlideShare
483
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Aggregation in MongoDB Aggregation in MongoDB Presentation Transcript

    • Aggregation
    • Pipeline Unix pipeline Piping command line operations ls -al | grep '^d‘ |
    • Pipeline • Piping aggregation operations $match | $sort | $skip | more Stream of documents Result document
    • Example { title : “mongo DB " , author : "bob" , posted : new Date() , pageViews : 5 , tags : [ "fun" , "good" , "fun" ] , language : “English”, other : { foo : 5 } }
    • 1. Count – return number of documents in collection. > db.user.count(); you can also pass query, and MongoDB will count number of result for that query. 2. Distinct The distinct commands find all the distinct values for given key in collection. db.runCommand ( {“distinct” : “collection name” ,”key” : “key field” } ) 3. Match >db.blog.aggregate({$match : {pageViews : {$gt : 1 ,$lt :50 } } } ) 4. Limit > db.blog.aggregate({$limit : 5 } ) 5. Sort >db.blog.find( ).sort({title : 1} )
    • 6. $project Include, exclude or rename fields Insert computed fields Create sub-document fields selecting and excluding fields >db.blog.aggregate{ { “$project” : { _id : 0 , title : 1 , language : 1} } }
    • { _id: 375, title: “mongo DB", ISBN: "9781857150193", available: true, pages: 218, subjects: [ “Test", “Pune", "1920s" ], language: "English" } { title: “mongo DB, language: "English" }
    • Insert computed field Db.blog.aggregate( { “$project” : { title : 1 , newPageViews : { $add : *“$pageViews” ,10]} } }
    • Rename Page Views db.blog.aggregate( { title : 1, newPageViews : “$pageViews” } ) Create and Populate new Field that hold subfields db.blog.aggregate( {"$project" : { title : 1 , stats:{pv : "$pageViews" , foo : "$other.foo" } } })
    • Groups Each document in collection has following form { "_id": “413710", "city": “Pune", "state": “MH", "pop": 5574, "loc": [ -74.016323, 40.710537 ] }
    • Group db.blog.aggregate( { $group : { _id : "$state", totalPop : { $sum : "$pop" } } }, { $match : {totalPop : { $gte : 10*1000 } } } )
    • Usage and Limit • collection.aggregate() method – Mongo shell – Most drivers • aggregate database command
    • Limitations Result limited by BSON document size Final command result Intermediate shard results Pipeline operator memory limits Some BSON types unsupported Binary, Code, deprecated types
    • Map Reduce • Map reduce operation handle complex aggregation task.