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.

11 Likes

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.

18 Likes

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?

7 Likes

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

1 Like


5 Likes

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

12 Likes

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!

8 Likes

@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?

Thanks!

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!

8 Likes

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!

1 Like

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!

11 Likes

@hauleth @deadtrickster are you still planning to maintain the mongodb_ecto packages? @scottmessinger has put in some effort and it’d be great to get this wrapped into the officially maintained packages.

Please let us know so the community can pitch in!

1 Like

Thanks for your efforts, Scott! Starred.

1 Like

I have been trying to elicit a response from the current maintainers of the mongodb and mongodb_ecto packages. I’ve not heard anything yet (if you’re reading, please just let us know what the plan is so we can plan accordingly).

As far as I can tell, those who would wish to use MongoDB + Ecto have:

  1. In terms of drivers, mongodb and mongodb_driver. As has been pointed out, the latter has better support for newer MongoDB features.
  2. In terms of Ecto, we have mongodb_ecto which hasn’t received any updates in some time, and the work of Scott and others in the form of a fork.

@scottmessinger’s efforts bring MongoDB + Ecto into a usable state, which is very welcome. I hope Scott you won’t mind me saying though that these are “just the beginning” of a few changes that are needed. There are also features in newer versions of MongoDB that would be nice to support too. In other words, the libraries are in need of TLC, it seems like there are people that are willing to put in the work, but we’re stuck here. My question is for everyone, what should we do to keep things moving forward?

Our current options seem quite undesirable for the community and the current maintainers:

  • Another fork
  • A separately published and maintained package
  • Something else?

I really don’t wish to appear to be being negative or critical of anyone’s efforts here: We have a requirement in our company to use MongoDB in our stack, and it’d be great if we could take advantage of an Ecto + MongoDB integration along the way. That and I believe the community could really use a decent offering in this area. Those are my reasons for continuing to push :).

Edit:

I should also add that it seems that mongodb_driver came about in the first place because of a lack of maintenance from the mongodb driver original from which it draws. I’m all for competition but it’s worth pointing out that the same problem exists there too.

3 Likes