You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+11Lines changed: 11 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,17 @@ All notable changes to this project will be documented in this file.
5
5
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
8
+
## 2.0.0
9
+
10
+
* Change underlying driver from [`mongodb`](https://github.com/elixir-mongo/mongodb) to [`mongodb_driver`](https://github.com/zookzook/elixir-mongodb-driver) 1.4.0
11
+
* Remove config options `pool`, `pool_overflow`, and `pool_timeout`
12
+
* Add support for MongoDB 6.0 and 7.0
13
+
* Add support for loading & dumping nil binaries and dumping nil dates
14
+
15
+
### Possible breaking changes
16
+
17
+
Calls to the Ecto adapter itself should not require any changes. However, if you make direct calls to the `Mongo` driver, you will need to update some of them to account for the `mongodb` -> `mongodb_driver` upgrade. See [Migrating to 2.0](./README.md#migrating-to-20) in the Readme.
Copy file name to clipboardExpand all lines: README.md
+27Lines changed: 27 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -122,6 +122,33 @@ Additionally special values are translated as follows:
122
122
123
123
The adapter and the driver are tested against most recent versions from 5.0, 6.0, and 7.0.
124
124
125
+
## Migrating to 2.0
126
+
127
+
Release 2.0 changes the underlying driver from [`mongodb`](https://github.com/elixir-mongo/mongodb) to [`mongodb_driver`](https://github.com/zookzook/elixir-mongodb-driver) 1.4.0. Calls to the Ecto adapter itself should not require any changes. Some config options are no longer used and can be simply deleted: `pool`, `pool_overflow`, `pool_timeout`.
128
+
129
+
If you make direct calls to the `Mongo` driver, you will need to update some of them to account for the `mongodb` -> `mongodb_driver` upgrade. Also, remember to replace `:mongodb` with `{:mongodb_driver, "~> 1.4.0"}` in your `mix.exs`. The known updates are:
130
+
1.`Mongo` functions no longer accept a `pool` option or `MyApp.Repo.Pool` module argument. Instead, a pool PID is expected:
# Provided the following function is defined in MyApp.Repo:
140
+
defmoduleMyApp.Repodo
141
+
useEcto.Repo, otp_app::my_app, adapter:Mongo.Ecto
142
+
143
+
defpool() do
144
+
Ecto.Adapter.lookup_meta(__MODULE__).pid
145
+
end
146
+
end
147
+
```
148
+
2. [`Mongo.command`](https://hexdocs.pm/mongodb_driver/1.4.1/Mongo.html#command/3) requires a keyword list instead of a document. E.g., instead of `Mongo.command(MyApp.Repo.pool(), %{listCollections: 1}, opts)`, do `Mongo.command(MyApp.Repo.pool(), [listCollections: 1], opts)`.
149
+
3. `Mongo.ReadPreferences.defaults` is renamed to `Mongo.ReadPreference.merge_defaults`.
150
+
4. When passing a `hint` to `Mongo.find_one` etc., if the hinted index does not exist, an error is now returned.
151
+
125
152
## Contributing
126
153
127
154
To contribute you need to compile `Mongo.Ecto` from source and test it:
0 commit comments