We’re pleased to announce that the official MongoDB Go driver is moving into beta, ready for the wider Go and MongoDB community to put it to the test – we think you’ll really like it.
In this blog, we will discuss:
- The growing importance of Go
- How we use it today at MongoDB
- Our rationale for building a new driver
- Resources to get you started with it.
Since its initial release by Google in 2009, Go has become an increasingly important programming language, both within the developer community, and internally here at MongoDB. The Go language broke into Redmonk’s top 20 programming language rankings in January 2015, climbing to 14th spot by June 2018, overtaking a variety of venerable programming languages that have been around 2 to 3 times longer. Its growing popularity can be attributed to its lightweight design, ease of use, efficient memory management, and concurrency – all of which make it well suited to developing apps in modern microservices patterns, and increasingly for data science tasks as well.
Back in January 2018, we announced a plan to build an officially supported MongoDB driver for the Go language to supersede the community-supported mgo driver. This project was driven by the fact that we, along with many other companies, use Go to build essential parts of our software. Our Ops Manager agents, MongoDB Atlas cloud service, the MongoDB Stitch serverless platform, our command line tools, and Evergreen continuous integration system all rely on Go. So we really wanted to bring the Go language into the officially supported fold of languages.
It was also important to sync Go support with our other official MongoDB drivers, both functionally and structurally. We want the community to have the best open source tools at their disposal so they can be even more effective with MongoDB. This is because MongoDB is constantly evolving and there are many new features arriving which can be hard for community projects to track. Like all MongoDB-developed drivers, the new Go driver is idiomatic to the Go programming language, providing fast, easy, and natural app development, and will be fully supported by MongoDB engineers. It exposes all of the rich query, indexing, and aggregation features of the MongoDB API, along with ACID transactions, durability, and consistency controls, all fully integrated with MongoDB’s authentication and encryption mechanisms.
The official MongoDB Go driver entered alpha when we made our announcement back in January, and over the past months out developers have worked with the Go community to refine and perfect an up-to-date, elegant, idiomatic driver. With that alpha phase over, it’s time for your feedback on what the developers have created. Here are the key resources to get you started:
- MongoDB Go driver beta download
- For new app development, refer to our tutorial .
- To migrate an existing app from mgo to the official Go driver, review this guide.
- Use the MongoDB Go driver user group to ask questions and provide feedback.
We look forward to updating you all on the progress of the Go driver as we approach GA, and thank you in advance for any feedback you provide.