Loved by learners at thousands of companies
MongoDB is a tool to explore data structured as you see fit. As a NoSQL database, it doesn't follow the strict relational format imposed by SQL. By providing capabilities that typically require adding layers to SQL, it collapses complexity. With dynamic schema, you can handle vastly different data together and consolidate analytics. The flexibility of MongoDB empowers you to keep improving and fix issues as your requirements evolve. In this course, you will learn the MongoDB language and apply it to search and analytics. Working with unprocessed data from the official nobelprize.org API, you will explore and answer questions about Nobel Laureates and prizes.
Flexibly Structured DataFree
This chapter is about getting a bird's-eye view of the Nobel Prize data's structure. You will relate MongoDB documents, collections, and databases to JSON and Python types. You'll then use filters, operators, and dot notation to explore substructure.Intro to MongoDB and the Nobel Prize dataset50 xpCount documents in a collection50 xpListing databases and collections100 xpList fields of a document100 xpFinding documents50 xp"born" approximation50 xpComposing filters100 xpWe've got options100 xpDot notation: reach into substructure50 xpChoosing tools50 xpStarting our ascent100 xpOur 'born' approximation, and a special laureate100 xp
Working with Distinct Values and Sets
Now you have a sense of the data's structure. This chapter is about dipping your toes into the pools of values for various fields. You'll collect distinct values, test for membership in sets, and match values to patterns.Survey Distinct Values50 xpCategorical data validation50 xpNever from there, but sometimes there at last100 xpCountries of affiliation100 xpDistinct Values Given Filters50 xpBorn here, went there50 xpTriple plays (mostly) all around100 xpFilter Arrays using Distinct Values50 xpSharing in physics after World War II50 xpMeanwhile, in other categories...100 xpOrganizations and prizes over time100 xpDistinct As You Like It50 xpGlenn, George, and others in the G.B. crew50 xpGermany, then and now100 xpThe prized transistor100 xp
Get Only What You Need, and Fast
You can now query collections with ease and collect documents to examine and analyze with Python. But this process is sometimes slow and onerous for large collections and documents. This chapter is about various ways to speed up and simplify that process.Projection50 xpShares of the 1903 Prize in Physics50 xpRounding up the G.S. crew100 xpDoing our share of data validation100 xpSorting50 xpWhat the sort?50 xpSorting together: MongoDB + Python100 xpGap years100 xpWhat are indexes?50 xpHigh-share categories50 xpRecently single?100 xpBorn and affiliated100 xpLimits50 xpSetting a new limit?50 xpThe first five prizes with quarter shares100 xpPages of particle-prized people100 xp
Aggregation Pipelines: Let the Server Do It For You
You've used projection, sorting, indexing, and limits to speed up data fetching. But there are still annoying performance bottlenecks in your analysis pipelines. You still need to fetch a ton of data. Thus, network bandwidth and downstream processing and memory capacity still impact performance. This chapter is about using MongoDB to perform aggregations for you on the server.Intro to Aggregation50 xpSequencing stages50 xpAggregating a few individuals' country data100 xpPassing the aggregation baton to Python100 xpAggregation Operators and Grouping50 xpField Paths and Sets50 xpOrganizing prizes100 xpGap years, aggregated100 xpZoom into Array Fields50 xpEmbedding aggregation expressions50 xpHere and elsewhere100 xpCountries of birth by prize category100 xpSomething Extra: $addFields to Aid Analysis50 xp"...it's the life in your years"50 xpHow many prizes were awarded to immigrants?100 xpRefinement: filter out "unaffiliated" people100 xpWrap-Up50 xp
In the following tracksData Engineer
Donny is a computer systems engineer at Lawrence Berkeley National Lab.
Donny is a computer systems engineer at Lawrence Berkeley National Lab. He is the principal web developer for the Materials Project (materialsproject.org), and he co-maintains several codebases and services for data-driven discovery of advanced materials. MongoDB helps him support rapid collaboration and schema evolution for these services. An instructor for the Software Carpentry Foundation, he has taught workshop lessons on Python, Git, Bash, SQL, and MongoDB. In the past, he studied nano-fabrication and scanning-charged-particle-beam lithography before shifting professional focus to software-as-a-service. He likes hyphens.