github mongodb/mongo-go-driver v1.6.0
MongoDB Go Driver 1.6.0

latest releases: v1.17.1-cloud1, cloud-1.17-cloud2, vcloud-1.17-cloud1...
3 years ago

The MongoDB Go driver team is pleased to release version 1.6.0 of the official Go driver.

This release supports several new features introduced in MongoDB server version 5.0.

Documentation can be found on pkg.go.dev and the MongoDB documentation site. BSON library documentation is also available on pkg.go.dev. Questions and inquiries can be asked on the MongoDB Developer Community. Bugs can be reported in the Go Driver Jira where a list of current issues can be found.

Versioned API

This release adds versioned API: a new feature in MongoDB 5.0 that allows user-selectable API versions, subsets of MongoDB server semantics, to be declared on a Client with ServerAPIOptions. See an explanatory blog post here.

ServerAPIOptions can be declared on a Client in the Go driver with SetServerAPIOptions. Within a ServerAPIOptions instance, ServerAPIVersion specifies the declared API version, Strict specifies whether the server should error when it receives a command that is not part of the declared API version, and DeprecationErrors specifies whether the server should error when it receives a command that is deprecated in the declared API version.

Load Balancer Support

The Go driver now supports connecting to any MongoDB service (such as MongoDB Serverless) that is running behind a load balancer.

ClientOptions contains a new LoadBalanced flag that can be set with SetLoadBalanced or by passing loadBalanced=true into the initial URI string.

Time-series Collections

This release allows the creation of time-series collections: a new collection type that will automatically organize time-series data into buckets on insert, while automatically unwinding the buckets for query purposes.

CreateCollectionOptions contains a new TimeSeriesOptions field that can be set with SetTimeSeries. The fields of TimeSeriesOptions are defined as follows. TimeField specifies the name of the top-level field that will represent the timestamp in the collection's documents. MetaField can specify the name of the top-level field that will describe the series in the collection's documents. Granularity can specify the desired granularity of the time-series data (at present, this value can be "seconds", "minutes" or "hours").

CreateCollectionsOptions also contains a new ExpireAfterSeconds field that can be set with SetExpireAfterSeconds. ExpireAfterSeconds can specify how many seconds to wait before old time-series data should be deleted from the time-series collection.

Let Option on Aggregate

Let can now be specified on aggregates. See an explanation and examples of the let option in the aggregate documentation.

AggregateOptions contains a new Let field that can be set with SetLet.

Release Notes

For a full list of tickets included in this release, please see the links below:

Don't miss a new mongo-go-driver release

NewReleases is sending notifications on new releases.