Mongo DB Tutorial

From Gridkaschool

Introduction

MongoDB is an Open-Source, document-based and schema-free NoSQL database with many features oriented towards data-intensive applications. Released in 2009, it now serves as the storage back-end of many high-profile systems and Web sites. The purpose of this workshop is to provide a broad introduction to various MongoDB concepts and its properties, as well as to how one can work with it as an user, administrator and programmer.

Contents

  • Introduction to the concept of NoSQL databases
  • Overview of MongoDB
    • new features in version 3.0
  • CRUD operations with the mongo shell
  • Programmatic access in Python - PyMongo
  • Indexes
  • Schema design
  • MongoDB and Web applications
    • programmatic access in Node.js - Mongoskin
    • introduction to the MEAN stack
  • Security
    • authentication and authorisation
    • encryption
    • accounting
  • High availability
    • replication
    • partitioning - sharding

Requirements

Every participant must bring a device capable of connecting by SSH to the machines prepared by the school. Ability to connect to multiple hosts at the same time is recommended.

Basic skills working on the Linux command line, some background knowledge of relational databases as well as basics of JavaScript might be helpful in this session but are not mandatory.

Materials

Here are all the materials used during the workshop:

Notes

  • An easy way of testing your REST API programs is to use the command-line program curl, like this:

curl -X POST -H 'Content-Type:application/json' -d @fileWithProperJSONData.json http://localhost:3000/collections/cities

  • You can use JSON Validator to make sure your JSON data conforms to the specification.