Maintainer Wanted: MongoDB and MongoDB Ecto

Hello everyone!

I am looking for one or more individuals to take over the mongodb and mongodb_ecto packages. My company no longer uses MongoDB and I have not really been keeping up with the packages as much as I should. If anyone is interested in taking over the package, or just helping out with it, let me know and I will do what I can in order to help you get started with the codebase.


Probably I will be tasked to maintain it anyway, as my current company already does that as we added few features (transactions) to Your driver.


If you want, I can give you commit access to the repository. Or, if you prefer, I can transfer the repository to the organization/user of your choosing.

1 Like

We can move it over to our organization, what I have to do?


I just need the organization name on GitHub, as well as at least one account name so you can continue to push updates.

1 Like


Thank you @deadtrickster and @hauleth for stepping up to maintain it. :slight_smile:


I just finished transferring the packages and wanted to say thank you to @deadtrickster and @hauleth, as well as anyone else at KOBIL Systems for taking over these packages!


@deadtrickster @hauleth - it looks like the mongodb and mongo_ecto packages could do with some TLC. I had a quick look today what it might take to provide ecto 3.x compatibility but I quickly got stuck in broken tests so I thought I’d ask first. Do you have any plans to provide any updates soon, and if not do you have any guidance on what needs to be updated?


At TableCheck we’d really love to see these better maintained as well. We are a Ruby/Elixir + Mongo company but TBH the experience using Elixir+Mongo has been rocky at best – especially compared to Ruby’s fantastic Mongoid library.

If looks like zookzook/elixir-mongodb-driver has now eclipsed kobil-systems/mongodb in terms of functionality. I would propose there should be a project to move mongo_ecto to use the zookzook driver and also upgrade to Ecto 3. We could commit some resources to this on our end if others are willing to help as well.

1 Like

Glad you agree.

I’m happy to put in some effort but it’d be really great if one of the maintainers could give an idea of what’s required to give a little head start!

As for the choice of mongo driver, I have no strong opinions; the existing one seems fine for most purposes. Whatever gives us the best way for encouraging further contributions and better maintenance going forward.

Re: driver, I do have a strong opinion. The zookzook driver is actively maintained, and it is up-to-date on the latest features such as transactions. Maintenance momentum is few and far between on Elixir libs, so we should jump on the bandwagon ASAP rather than investing our time building-up a competing lib.

1 Like

Fair enough! Maybe a good first investigation would be to swap out the driver and see if one can make the tests pass.

I imagine there is a nice way of allowing a user to decide which driver they want to use too.

Over the new few weeks, I’m going to be working full time on upgrading the Mongo Ecto Library to be compatible with Ecto 3. Before I jump in, I wanted to check to see if anyone else has done all or part of this in another fork. I’d love to build upon existing work if at all possible!


I haven’t done any work but since posting on this thread earlier I’ve been working with GitHub - zookzook/elixir-mongodb-driver: MongoDB driver for Elixir and it’s been working very nicely. I’m not sure if there have been any developments in the existing mongo driver included with the MongoDB Ecto lib but assuming not, I still believe it would be worth investigating integrating zookzook’s Mongo driver.

Glad you’re taking it on!

I’d love to get @zookzook 's driver working with the adapter! The current problem is I’m running into this:

I have no idea why I’m getting that error. If I can get it spun up, I’d love to see how hard it would be to switch over or provide as an option.

Also, update: my fork now works with Ecto 3. If anyone would like to try it out, please do. I’d love the feedback!