8349  Reviews star_rate star_rate star_rate star_rate star_half

Development With MongoDB

MongoDB is an open source document-oriented NoSQL (Not Only SQL) database written in C++. Effective use of MongoDB, understanding its data structures and optimal ways to program to its API aids in...

Read More
$1,570 USD
Duration 2 days
Course Code WA2266
Available Formats Classroom

Overview

MongoDB is an open source document-oriented NoSQL (Not Only SQL) database written in C++. Effective use of MongoDB, understanding its data structures and optimal ways to program to its API aids in creating high-performance and robust solutions in small start-ups and big companies alike.

Skills Gained

This intensive hands-on training course aims at making students proficient in developing with MongoDB using Java. The course is supplemented by hands-on labs that help attendees reinforce their theoretical knowledge of the learned material and make them confident in applying the acquired knowledge in practice.

  • Overview of "NoSQL" landscape
  • MongoDB developer value proposition
  • MongoDB architecture
  • MongoDB installation and configuration
  • Essential system administration
  • Developing solutions in Java

Who Can Benefit

Technical leads and application developers

Prerequisites

Participants should be familiar with Java programming and using Eclipse development environment

Course Details

Outline

Chapter 1. Introduction to MongoDB

  • MongoDB
  • MongoDB Features
  • MongoDB on the Web
  • Positioning of MongoDB
  • MongoDB Applications
  • MongoDB Data Model
  • MongoDB Limitations
  • MongoDB Use Cases
  • MongoDB Query Language (QL)
  • The CRUD Operations
  • The
  • find
  • Method
  • The
  • findOne
  • Method
  • A MongoDB Query Language (QL) Example
  • Inserts
  • MongoDB vs Apache CouchDB
  • Summary

Chapter 2. MongoDB Data Model

  • The BSON Data Format
  • Database Terminology
  • MongoDB Data Model
  • The _id Primary Key Field Considerations
  • Indexes
  • (Traditional) Data Modeling in RDBMS
  • Data Modeling in MongoDB
  • An Example of a Data Model in MongoDB
  • MongoDB Data Modeling
  • A Sample JSON Document Matching the Schema
  • To Normalize or Denormalize?
  • MongoDB Limitations
  • Data Lifecycle Management
  • Data Lifecycle Management: TTL
  • Data Lifecycle Management: Capped Collections
  • Summary

Chapter 3. MongoDB Architecture

  • MongoDB Architecture
  • Blending the Best of Both Worlds
  • What Makes MongoDB Fast?
  • Pluggable Storage Engines
  • Data Sharding
  • Sharding in MongoDB
  • Data Replication
  • A Sample Sharded Cluster Diagram
  • GridFS
  • Getting a File from GridFS
  • MongoDB Security
  • Authentication
  • Data and Network Encryption
  • Summary

Chapter 4. MongoDB Administration

  • The Admin Shell
  • Getting Help
  • Admin Commands
  • Starting MongoDB
  • Running MongoDB JavaScript Scripts
  • Shell Helper to JavaScript Equivalent Map
  • A MongoDB Script Example
  • Connecting to MongoDB
  • User Authentication
  • Authentication Options
  • Import / Export Operations
  • MongoDB Extended JSON and Strict Mode
  • Examples of Extended JSON Encoding
  • Examples of Data Import / Export
  • The Robo3T Tool
  • Robo3T Connections
  • Connection Manager
  • Viewing Databases, Collections and Documents
  • Edit Capabilities
  • Admin Shell
  • Summary

Chapter 5. Working with Data in MongoDB

  • Reading Data in MongoDB
  • The Query Interface
  • Query Syntax is Driver-Specific
  • Projections
  • Query and Projection Operators
  • MongoDB Query to SQL Select Comparison
  • Cursors
  • Cursor Expiration
  • Writing Data in MongoDB
  • An Insert Operation Example
  • The Update Operation
  • Update Operation Options
  • An Update Operation Example
  • A Remove Operation Example
  • Limiting Return Data
  • Data Sorting
  • Aggregating Data
  • Aggregation Stages
  • Accumulators
  • An Example of an Aggregation Pipe-line
  • Map-Reduce
  • Summary

Chapter 6. Indexes in MongoDB

  • Indexes in MongoDB
  • Creating an Index
  • Listing Existing Indexes
  • The Sort Order
  • Using the Explain() Method
  • Main Index Types
  • The _id Field
  • Single and Compound Indexes
  • Multikey Indexes
  • Other Index Types
  • Index Properties
  • Examples of Creating Indexes with Index Properties
  • Summary

Chapter 7. Accessing MongoDB from Node.js

  • Getting Started
  • The Connection URL
  • Obtaining a Collection
  • Inserting Documents
  • Updating a Document
  • Querying for Documents
  • Deleting a Document
  • Connection Pooling
  • Summary

Chapter 8. MongoDB Java Client

  • Accessing MongoDB from a Java Client
  • The MongoDB Java Driver
  • Using the Synchronous Driver in a Java Application
  • Connecting to MongoDB
  • Connecting to Mongo - Legacy API
  • Connecting to Mongo - Updated API (since 3.7)
  • Connection Options and the MongoClientURI
  • Using MongoClientURI
  • Connecting to a Replica Set
  • Connecting to a Sharded Cluster
  • Connection Configuration
  • Connecting and Accessing a Collection
  • Create a Collection
  • Insert a Document
  • Update
  • Update Operators
  • Read (Find)
  • Read (Find) Multiple Documents
  • Delete
  • BSON Library
  • Impedance Mismatch
  • Morphia Object Mapper
  • Setup
  • Connecting
  • Mapping
  • Simple Mapping
  • Saving Data
  • Queries
  • Summary

Chapter 9. Securing MongoDB

  • Security Overview
  • Your Mileage May Vary
  • Security is Your Responsibility
  • First Things First
  • MongoDB Security
  • A MongoDB Security Checklist
  • Enable Access Control and Enforce Authentication
  • Configure Role-Based Access Control
  • Enable Authorization
  • Create an Admin User
  • Create a Database User
  • Protecting Data in Transit
  • Protecting Data at Rest
  • Limit Network Exposure
  • Audit System Activity
  • Run MongoDB with a Dedicated User
  • Run MongoDB with Secure Configuration Options
  • Compliance
  • Summary

Chapter 10. MapReduce in MongoDB

  • The Client – Server Processing Pattern
  • Distributed Computing Challenges
  • MapReduce Defined
  • Google's MapReduce
  • MapReduce Phases
  • The Map Phase
  • The Reduce Phase
  • MapReduce Word Count Job
  • MapReduce Shared-Nothing Architecture
  • Similarity with SQL Aggregation Operations
  • Problems Suitable for Solving with MapReduce
  • Typical MapReduce Jobs
  • Fault-tolerance of MapReduce
  • Distributed Computing Economics
  • MapReduce in MongoDB
  • Example - part 1
  • Example - part 2
  • Example – Part 3
  • Example – Part 4
  • Example – Part 5
  • Example – Part 6
  • MapReduce vs Aggregation Pipelines in MongoDB
  • Summary

Lab Exercises

  • Lab 1. Learning the MongoDB Lab Environment
  • Lab 2. The MongoDB Database Operations
  • Lab 3. The MongoDB Admin Shell
  • Lab 4. Import Export Operations in MongoDB
  • Lab 5. Working with Data in MongoDB
  • Lab 6. Using MongoDB
  • Lab 7. CRUD Operations with the MongoDB Java Driver
  • Lab 8. Aggregation with the MongoDB Java Driver
  • Lab 9. x509 Authentication in MongoDB
  • Lab 10. MongoDB Authentication
  • Lab 11. Project – A RESTful API for MongoDB in NodeJS

Schedule

FAQ

Does the course schedule include a Lunchbreak?

Classes typically include a 1-hour lunch break around midday. However, the exact break times and duration can vary depending on the specific class. Your instructor will provide detailed information at the start of the course.

What languages are used to deliver training?

Most courses are conducted in English, unless otherwise specified. Some courses will have the word "FRENCH" marked in red beside the scheduled date(s) indicating the language of instruction.

What does GTR stand for?

GTR stands for Guaranteed to Run; if you see a course with this status, it means this event is confirmed to run. View our GTR page to see our full list of Guaranteed to Run courses.

Does Ascendient Learning deliver group training?

Yes, we provide training for groups, individuals and private on sites. View our group training page for more information.

What does vendor-authorized training mean?

As a vendor-authorized training partner, we offer a curriculum that our partners have vetted. We use the same course materials and facilitate the same labs as our vendor-delivered training. These courses are considered the gold standard and, as such, are priced accordingly.

Is the training too basic, or will you go deep into technology?

It depends on your requirements, your role in your company, and your depth of knowledge. The good news about many of our learning paths, you can start from the fundamentals to highly specialized training.

How up-to-date are your courses and support materials?

We continuously work with our vendors to evaluate and refresh course material to reflect the latest training courses and best practices.

Are your instructors seasoned trainers who have deep knowledge of the training topic?

Ascendient Learning instructors have an average of 27 years of practical IT experience and have also served as consultants for an average of 15 years. To stay current, instructors spend at least 25 percent of their time learning new, emerging technologies and courses.

Do you provide hands-on training and exercises in an actual lab environment?

Lab access is dependent on the vendor and the type of training you sign up for. However, many of our top vendors will provide lab access to students to test and practice. The course description will specify lab access.

Will you customize the training for our company’s specific needs and goals?

We will work with you to identify training needs and areas of growth.  We offer a variety of training methods, such as private group training, on-site of your choice, and virtually. We provide courses and certifications that are aligned with your business goals.

How do I get started with certification?

Getting started on a certification pathway depends on your goals and the vendor you choose to get certified in. Many vendors offer entry-level IT certification to advanced IT certification that can boost your career. To get access to certification vouchers and discounts, please contact info@ascendientlearning.com.

Will I get access to content after I complete a course?

You will get access to the PDF of course books and guides, but access to the recording and slides will depend on the vendor and type of training you receive.

How do I request a W9 for Ascendient Learning?

View our filing status and how to request a W9.

Reviews

Provided good amount of material and a great instructor to teach the material.

Some Labs are very good but some steps it ask to update but its already updated, but overall its very good training.

Easy to work with. Learning material pdfs were able to be printed out in color which was very nice to write on.

Although there seemed to be too many links for the course, everything worked smoothly.

Good course. I appreciate the time the instructor put into teaching this class.