How to Use Go With MongoDB?

MongoDB is a popular NoSQL database that is widely used in modern web applications. Go, on the other hand, is a fast and efficient programming language that is becoming increasingly popular for building web applications. In this article, we will discuss how to use Go with MongoDB, including how to connect to a MongoDB database and how to perform basic CRUD operations.

Installing the MongoDB Driver for Go

Before we can start using Go with MongoDB, we need to install the MongoDB driver for Go. The easiest way to do this is by using the following command −

go get

This command will download and install the MongoDB driver for Go, which we will use to connect to our MongoDB database.

Connecting to a MongoDB Database

To connect to a MongoDB database using Go, we first need to create a MongoDB client object. We can do this using the following code −

clientOptions := options.Client().ApplyURI("mongodb://localhost:27017")
client, err := mongo.Connect(context.Background(), clientOptions)
if err != nil {

In this code, we are creating a MongoDB client object by specifying the URI of the MongoDB server. We then use the mongo.Connect() function to connect to the database, passing in the context.Background() object as the first parameter.

Performing CRUD Operations

Once we have connected to our MongoDB database using Go, we can start performing basic CRUD operations. The following code demonstrates how to insert a new document into a MongoDB collection −

collection := client.Database("mydb").Collection("users")

user := bson.M{
   "name":  "John",
   "email": "",

res, err := collection.InsertOne(context.Background(), user)
if err != nil {

id := res.InsertedID
fmt.Println("Inserted document with ID:", id)

In this code, we are creating a new document object using the bson.M type, which is used to represent MongoDB documents in Go. We then insert the document into a MongoDB collection using the collection.InsertOne() function, which returns a result object containing the ID of the newly inserted document.


In conclusion, using Go with MongoDB is a straightforward process that can be accomplished using the official MongoDB driver for Go. By following the steps outlined in this article, you can connect to a MongoDB database using Go and perform basic CRUD operations, such as inserting documents into a collection. As you become more familiar with Go and MongoDB, you can use these tools to build complex web applications that can scale to meet the needs of your users.

Updated on: 26-Apr-2023


Kickstart Your Career

Get certified by completing the course

Get Started