Getting Started with MongoDB Charts in MongoDB Atlas

Hi everyone, MongoMike here! It’s been too long since I’ve had a chance to blog, so I made some time to write about one of the cool MongoDB tools that I’ve had a chance to check out recently. Today, I wanted to write about getting started with MongoDB Charts in MongoDB Atlas on Microsoft Azure’s Cloud Platform, but really the instructions here will work exactly the same in AWS and Google Cloud since Charts and Atlas are cloud agnostic.

First, let me tell you a little about MongoDB Charts. MongoDB Charts is a visualization tool that lets you visualize your MongoDB data. While most existing BI Tools can access MongoDB through it’s BI Connector, MongoDB Charts harnesses the power of the document model and allows you to utilize MongoDB’s Aggregation Framework to provide some great visualizations of your data without having to conform to the relational model or otherwise flatten your data.

Now that we know what Charts can do, let’s get started. First we login to our MongoDB Atlas account and once logged in, we click on the Charts Icon:


Once we click on Charts, Atlas will start installing Charts in the background, in less then a minute we’re ready to go!  Now we’ll need to add a Data Source.  We begin by selecting which of our MongoDB Atlas Deployments we want to pull data from.



Now we’ll select which collection(s) we’ll be pulling data from!  In my example, I’m using data I’ve pulled from the startup companies data set found on github.  This is one of many great places to find test data for MongoDB.


Next, we’ll set our permissions to determine what users are able to read, manage and modify the dashboards we’ll be creating with our data.


Now we can publish our Data Source and start creating dashboards!  Click on the Dashboards Button in the Top Left and then click on New Dashboard to get started.  The first thing you will do is name your dashboard.

Next we’ll want to pick some interesting data for our visualizations.  How about finding out which cities are more popular for startups?

For my dashboard, I’ve changed the Chart Type to “Text” and picked the “Table” sub-category.  In the groups section I’ve dragged the field, and in the values section I’ve dragged the milestones.number_of_employees field and the field.   This will show be how many startup employees there are in a city and how many offices  as well.  Here’s what my visualization looks like when I use New York as my example:


Now I’ll change the city to my hometown of Rochester and see how the numbers change.  Not surprisingly, there’s a bit of a drop:


Let’s look at the data with a different type of chart.  For this dashboard we’ll use a Grid Chart Type with a Heat Map to show which countries have a greater concentration of employees working for larger or smaller start ups.  For the X axis, we’ll look at number of employees and bin them by 10,000, for the Y axis, we’ll  look at Country Code and we’ll use number of employees for the intensity as well to show the concentrations.


With real data we could save this dashboard and it would get updated as our data gets populated, giving us real time visualizations on our MongoDB data.

With that, I hope this blog post helps show you how easy it is to get started with MongoDB Charts in MongoDB Atlas and to start making some awesome dashboards that help you properly visualize your MongoDB data.  Thanks for reading!





MongoDB World 2018 Review


MongoDB World 2018 was held on June 26 and June 27th in New York. In addition to the conference, I also attended the MongoDB Customer Advisory Board on June 28th. My time there was split up in to 3 parts:

1) The Advocacy Summit, an all day meetup with the MongoDB Masters, of which I’m honored to be a part of, and some amazing advocates from around the world who are using MongoDB in cool and exciting ways.

2) The conference, this conference was extra special for me as it was my first time speaking at an event of this size! I talked about our journey to automating MongoDB deploys at Paychex. Slides can be found here.

3) The Customer Advisory Board, this is a meetup of customers, large and small, who utilize MongoDB, we got to hear about some of the interesting problems MongoDB is thinking about and got to comment on our uses of certain MongoDB products

The Advocate Summit:

The Advocate Summit was an event put together by the MongoDB Advocacy Team, Mike Lynn, Global Director of Developer Advocacy (, Joe Drumgoole, Head of Developer Advocacy EMEA ( and MC’ed by Jay Gordon, Cloud Developer Advocate(

Topics ranged from how MongoDB built their Cloud DBaaS, Atlas, presented by the Product Manager for Atlas, Andrew Davidson, to an informative “Ask Anything” session with MongoDB Founder and CTO, Eliot Horowitz (, to the startup accelerator program by Francesca Krihely (, to a Q&A with all of the MongoDB Product Managers. In addition to the MongoDB speakers there were sessions by Jenna Zeigen from Slack ( on managing your manager, and a great session by fellow MongoDB Master, Ken Alger of Treehouse ( on how to use MongoDB to enhance your career. The day finished off with Brandy Morgan of Creators Code ( giving a great talk on teaching people to be teachers.


Pictured from Left to Right:

Leandro Domingues of Cluster Consultoria Brazil (, Roderigo Nascimento of NetApp (, Jay Gordon of MongoDB (, Juan Roy Cuoto of Grupo Undanet of Spain (, Jorge Puente Sarrín of Rebel Mouse of Peru ( and Me, Mike Grayson of Paychex (

The conference:

The conference itself was great, as I mentioned earlier, I got my first, of I hope many, opportunities to speak at a conference of this size. I talked about our journey to automating MongoDB deploys at Paychex. Slides can be found here. I was lucky in that 3 of my Paychex colleagues took the time out of their conference to attend my talk. Thanks Christine Rebekka Swanson , Suzanne E Sarr and Andrea Lee Dougherty your support was awesome I was happy that my presentation was early in the conference so I could get it done and enjoy the rest of the conference! I had a lot of follow up questions and was approached by fellow Operations Engineers at some large companies that have had the same issues as we had. Here’s a few pictures that were taken during my talk!



After my talk, it was time for the keynote! There were many exciting announcements, it was hard to pick a favorite, so in no particular order here are the highlights: Multi-Document ACID transactions in MongoDB 4.0! MongoDB Stitch (BackEndaaS) made generally available in the cloud! MongoDB Compass now has an Aggregation Pipeline Builder! Global Clusters in Atlas, more and more regions in AWS, Azure and GCP. MongoDB Mobile!

With this year’s conference only being one day and me speaking during one of the sessions, I was limited in to the amount of sessions I could attend. However, I did make it to the following sessions:

Redhat Sponsored Talk: on Deploying MongoDB to Enterprise Kubernetes (aka OpenShift)
Time for a Change Stream – Using MongoDB Change Streams to Version your Database
MongoDB Meet Chaos Monkey
Simplified Encryption & Key Management for MongoDB
User Administration With You – Integrating LDAP with MongoDB
Free the DBA: Building Chat Bots to Triage, Monitor and Manage MongoDB Deployments from any device
Spark and Machine Learning

These covered some of the key takeaways I look to get from each and every MongoDB World:

A new and easier way to deploy
Evaluating newer features that we don’t yet use at Paychex
Learning about a part of MongoDB that I’ll soon need to know deeply
Ways to make my job easier (and all of Paychex Data Services jobs easier) in supporting MongoDB
Learning about something new that we’re not yet looking at in Paychex to get ahead of the curve

MongoDB CAB:

The end of my MongoDB week was at the MongoDB Customer Advisory Board. The CAB is a place where MongoDB customers large and small come to talk about how they’re using MongoDB, what they would like to see changed, as well as a chance for MongoDB Product Managers to get feedback on some of the items that they’re looking at. After the CAB all of the Product Managers, and MongoDB executives and the CAB Members went to Quality Meats in Manhattan. This gave us time for more 1-1 chats with each other. During this time I was able to talk with the Product Managers of MongoDB Mobile, MongoDB Stitch and the MongoDB Drivers team, I have a few action items from those conversations that I’m following up with them on. Overall, it’s great to get the opportunity to have these kinds of chats with the people who are building MongoDB, I realize how lucky I am to have this chance.

Thanks for reading!

Speaking at SQL Saturday Rochester on 03/24!

Hey all! I’ve been lucky enough to be selected to speak at SQL Saturday in a few weeks! I’ll be co-presenting with colleague Kim St. Jacques on a fun topic, a side by side of operational items for SQL Server, Oracle and MongoDB, the talk is titled “I have to support what!? SQL, Oracle, and Mongo – A side by side “how to” ” More information can be found below:

To signup for this SQL Saturday visit this link:

Hope to see you there!

MongoDB Compass Beta

After hearing about all the improvements to MongoDB Compass at MongoDB World, I finally had a chance to test the beta release, which has all the new features that were mentioned at MongoDB World already available!

First, I went to the MongoDB Compass Download Center to download the latest beta version of Compass.  After downloading it, I was able to point it at a database with some data that I thought would be interesting to see used against the new features.

The new features of MongoDB Compass build on the original version of Compass which allowed you to visualize your data and to build ad hoc queries if you wanted to see specific data.  This made it easier for those who weren’t familiar with the MongoDB query language to see data that was important to them.  The new features, such as explain plans, viewing index usage, being able to insert documents, bring more admin type features to Compass making it an even more valuable tool for working with your data.  For me, these admin features move Compass more and more towards a valuable tool not only for visualizing your data but for day to day admin activities with your data.  The new version of Compass will make MongoDB more accessible to those who may not have the time to learn the query language and allow them to manipulate data in ways they are accustomed to with other databases.

I recommend anyone interested in visualizing their MongoDB data to give Compass a try.


Index Usage Example:



Explain Plan example:


Inserting a document example:



As always, thanks for reading!

Starting a new MongoDB User Group in Western NY!

Hey everyone, I’m starting the process of starting a MongoDB User Group (MUG) in the Western NY (Buffalo/Rochester/Syracuse) area!  Please join our group!  I’ll be setting up our first meetup in the upcoming weeks!

Western New York MongoDB User Group

Rochester, NY
3 Members

This group is a place for developers in the Rochester, Buffalo, and Syracuse area to learn more about MongoDB, an open source, document-oriented, NoSQL database. If you are fa…

Check out this Meetup Group →


Upgrading MongoDB Ops Manager from 1.8.x to 2.0.x release using the RPM upgrade approach

For those of us that use the On-Prem version of Cloud Manager, Ops Manager, there comes a time when you need to upgrade your MongoDB Ops Manager Infrastructure.  The upgrade may be in order to support new features, get bug fixes or various other reasons.  Getting to the 2.0.x version of Ops Manager allows for Monitoring of MongoDB 3.2 Databases as well as adding a great deal of monitoring capabilities.  Licensed users can read the documentation here on all the new features and functionality in MongoDB Ops Manager 2.0.x.  Here is the basic plan I followed, this was taken from the Ops Manager Upgrade Documentation and I added several steps that helped me avoid any issues and allowed for an easy rollback in case of issues.  I hope to be able to automate as much of this process as possible for future upgrades!

Upgrade Plan:

  1. Make sure all Ops Manager Backups are completed before beginning.  This can be confirmed by navigating to Admin > Backup > Jobs in the Ops Manager Application and checking on the “Working On” column, if it is blank then the Backup Jobs are completed.
  2. Shutdown the Backup Daemon:
    1. service mongodb-mms-backup-daemon stop
  3. Shutdown the Application Server(s):
    1. service mongodb-mms stop
  4. Shutdown the Ops Manager Application Database and the Backup Datastore Database.  Copy the data files from your data directory, typically, /data/db to another location and compress them as a backup in case a rollback is needed.
    1. service mongod stop
    2. cd /data/db
    3. cp * /data/db/preupgrade_bkup
    4. cd /data/db/preupgrade_bkup
    5. gzip *
  5. Startup the Ops Manager Application and Backup Databases
    1. service mongod start
  6. Save a copy of the previous Ops Manager configuration file in case of a rollback:
    1. cp /opt/mongodb/mms/conf/ /tmp/
    2. cp /opt/mongodb/mms-backup-daemon/conf/ /tmp/
  7. Uninstall the Backup Daemon RPM as this is no longer in Ops Manager 2.0
    1. sudo rpm -e mongodb-mms-backup-daemon-
  8. Upgrade the Ops Manager Package and install the Ops Manager Package on the Backup Daemon Host (backup daemon is now included in the Ops Manager RPM’s in Version 2.0.x):
    1. sudo rpm –Uvh mongodb-mms-
  9. Copy back the previous Ops Manager config file:
    1. cp /tmp/ /opt/mongodb/mms/conf/
  10. Start Ops Manager on both Ops Manager Application Hosts and the former Backup Daemon Host:
    1. service mongodb-mms start
    2. If there are any issues, the logs can be found at: /opt/mongodb/mms/logs
  11. Log in to the Application
  12. Update all agents
    1. In the Ops Manager UI , go to the deployment screen, you will be prompted to upgrade all of your agents.


So now you’ve successfully upgraded your Ops Manager.  How do you prove that everything works after you completed the upgrade?  Why you test of course.


Testing Plan:

  1. Log in to Ops Manager to verify all pieces are functioning correctly post upgrade.
    1. Perform a Backup of a DB to confirm the Backup Daemon (now included in the Ops Manager RPM) is working and that Backups were not negatively affected
    2. Confirm that all agents are up and reporting to the Application as on the latest version
    3. Temporarily set an alert threshold to a low value to be sure it alerts in the same manner as previous to the upgrade.

As you can see, while this process is relatively simple, it’s ripe for automation, which I will be attempting for my next MongoDB Ops Manager upgrade!  Thanks for reading!

MongoDB World 2016 Retrospective

Wow, does time sure fly, this time a week ago I was in the Nasdaq Building in Times Square at the MongoDB World 2016 VIP Party.  I thought I’d take the time to take a look back at this past week and all of the great things that happened.  From the MongoDB Masters Summit, to MongoDB World itself, and finally the MongoDB CAB, there were highlights all around and it’s exciting to see where the product is heading.

First up was the MongoDB Master’s Summit, the MongoDB Masters is a group who participate in an annual program run by MongoDB to recognize and empower leaders in the MongoDB community. Masters serve as ambassadors, leaders, educators, and experts, sharing their first-hand knowledge and experience. Masters complete MongoDB professional certification to demonstrate their expertise.  The Master’s Summit was a great experience meeting other MongoDB Professionals and making those connections as well as meeting and getting to know the MongoDB Community Team.  After the Master’s Summit was the MongoDB VIP Party at the Nasdaq in Times Square.  This was a pretty cool experience to be able to see Times Square from above and to see some of the space where Nasdaq activity happens.


After that action packed Monday, next was the conference itself!  The conference started off with a bang with CTO Eliot Horowitz announcing the roadmap for new 3.4 features including improvements to Compass (Explain plans, crud support, indexes and geo displays), read only views, recursive $lookup (joins), faceted search, decimal support, enhanced LDAP role support, and zone based sharding an improvement on the Tag Based Sharding that’s currently available.  Next came the Giant announcement, MongoDB Atlas, which is a MongoDBaaS offering straight from MongoDB.  These announcements were followed up by Adam Savage of MythBusters fame who talked about not being afraid to fail, a very inspiring talk about his journey in life.  The next two days were filled with amazing sessions.  I mostly attended ones on Automation using Docker, Kubernetes, Chef, Puppet, Open Stack and other automation tools as well as attending some on Microservices Architectures, ETL and MongoDB, Read Concern, Wired Tiger Performance, Financial Transactions and Version 2 of the BI Connector.

The MongoDB Innovation Awards were held during Tuesday Afternoon’s Keynote, many great companies were honored for their work with MongoDB and then came the biggest surprise of the conference me, I was honored as MongoDB Advocate of the Year! This was a huge honor and a true highlight in my career so far.  I was nominated for my work on the MongoDB Advocacy Hub, this blog, and beta testing work that I did for the 3.2 release.


The MongoDB World After Party on Tuesday was headlined by famous 90’s Alr-Rock Band, They Might Be Giants at the Club Stage 48, they played a very nice sampling from their whole catalog and a great time was had by all in attendance!

MongoDB World ended with a celebration with Beers from Around the World!  This was a great metaphor for how MongoDB has a worldwide reach and is continuing to grow.

My final activity at MongoDB World was the MongoDB Customer Advisory Board (CAB).  The CAB is a collection of customers from all across the business world who give their input on MongoDB Roadmap items.  This was a great opportunity for me to give my opinion on the 3.4 features as well as help lend priority to items that MongoDB is looking to implement post 3.4.

Overall, this year’s conference was one of the best that I’ve ever attended, between the sessions, connections made and things to look forward to in future versions, I could not be more excited for what is up ahead for MongoDB and for the next conference.  Hopefully I can find a way to get to MongoDB Days Europe, if not, then MongoDB World 2017!