80 likes | 244 Vues
Dive deeper into MongoDB essentials with this course focused on querying, subsetting, handling arrays, and indexing. Learn to retrieve only necessary data using efficient syntax, work with arrays, and index documents for optimized access. Master the aggregation framework, including the powerful Map-Reduce technique for processing large datasets. This course provides practical examples and hands-on exercises to enhance your MongoDB skills, allowing you to efficiently store, retrieve, and manipulate data in your applications.
E N D
what you need to know to get cranking MongoDB Essentials II
Querying • Subset • Arrays • Indexing • Aggregating – map-reduce What you will learn
Retrieve only what you need • Structure remains same (not full projection) • Syntax {a:”hello”, b:”hola”, c:”bonjour”, _id:1} • db.people.find({},{b:0}) • db.people.find({},{a:1,c:1}) • db.people.find({},{a:1,_id:0}) Selecting
Look like an JS array (BSON actually) • Are stores as a document with index as key • Syntax • db.people.find({“pets.name”:”Felix”}) • db.people.find({},{pets[0]:1}) • db.people.find({},{pets:{$slice:1}}) • db.people.find({},{pets:{$slice:[-2,1]}}) Arrays
Indexes run deep. • Arrays can be indexed – (try that with RDBMS!) • Every collection has _id indexed. (“Clustered”) • Index structure is Btree • Covered index support (except array) • Syntax • db.people.ensureIndex({“pets.type”:1}) • db.people.ensureIndex({birthdate:-1}) • db.system.indexes.find() Indexed access
The only way to aggregate* • Challenge: lots of IO to read all records • Answer: distribute aggregation to nodes, then cull the results • Implementation: Map Reduce Map/Reduce
Map • function() • At some point: emit(key, value) • Value can be scalar or any object • Reduce • function(key, values) • return some computation over the values (typically). Key is implied. • Finalize • function(key, value) • Optional. Re-shape/filter - final step in computation. • Output • Screen, into new or existing collection (incremental) • Query • Limit work, support incremental m/r. Map/Reduce
http://openmymind.net/mongodb.pdf • http://mongodb.org/ • http://10gen.com/ • http://plusnconsulting.com/ • nuri@plusnconsulting.com • (818) 446.NUHA References