The future of CongoMongo?

78 views
Skip to first unread message

Sean Corfield

unread,
Jan 3, 2014, 3:22:58 PM1/3/14
to congomongo-dev
Having gone through the recent major overhaul of java.jdbc, I'd like
to see something similar for CongoMongo (as I hinted in recent replies
on this list).

With the new MongoDB driver version bringing API changes, it seems
like a good time to discuss the direction for CongoMongo...

I seem to have become to de facto primary maintainer now - I gather
most other maintainers are no longer using MongoDB, or are folks just
happy with the library as is and don't feel the need to make any
changes?

As noted, I'd like to see CongoMongo's API completely overhauled, to
remove dependencies on dynamic global variables etc, so this would be
introduce a new API, and deprecate the old API.

I'd also like to see a congomongo organization on Github for managing
CongoMongo going forward, much as exists with clj-time. So maybe it's
time to think about a break with "tradition" and fork the project into
a new location and build the new API there instead? Or perhaps even a
ground-up rewrite under a new name?

The other popular MongoDB client library is Monger, but it's also an
"imperative" API with globally managed state (connect! set-db!
disconnect! etc) although it provides a much richer composable DSL and
vastly superior documentation.

What are your thoughts on this?
--
Sean A Corfield -- (904) 302-SEAN
An Architect's View -- http://corfield.org/
World Singles, LLC. -- http://worldsingles.com/

"Perfection is the enemy of the good."
-- Gustave Flaubert, French realist novelist (1821-1880)

Korny Sietsma

unread,
Jan 4, 2014, 10:01:04 AM1/4/14
to congomo...@googlegroups.com
I feel very unqualified to comment much on this, as I've just jumped back to using MongoDB after a 2 year hiatus, and haven't used any of the clojure libraries heavily.

However, it does seem a natural point for a new location and a new API, and leave the existing CongoMongo 1.x (or is it 0.x?) as a "stable" version, until both the new Java and the new CongoMongo versions are stable.  This would probably also save a lot of effort that might be required to keep backward compatibility - though it'd be great to have a migration guide, if this happens, for people who can't upgrade incrementally.

- Korny


--
You received this message because you are subscribed to the Google Groups "congomongo-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to congomongo-de...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



--
Kornelis Sietsma  korny at my surname dot com http://korny.info
.fnord { display: none !important; }

Sean Corfield

unread,
Jan 8, 2014, 2:42:10 PM1/8/14
to congomongo-dev
On Fri, Jan 3, 2014 at 12:22 PM, Sean Corfield <seanco...@gmail.com> wrote:
> The other popular MongoDB client library is Monger, but it's also an
> "imperative" API with globally managed state (connect! set-db!
> disconnect! etc) although it provides a much richer composable DSL and
> vastly superior documentation.

Over the last few days I've spent some time with Monger and it
supports two modes of operation:

* global dynamic variables (like CongoMongo) - which I do not like
* connection and DB reference as arguments to all operations

The API for the latter isn't quite as clean - you're mostly forced to
provide all parameters - but it satisfies my basic criteria for
idiomatic usage, and it has a composable DSL for queries. Given the
much better documentation, the richer API, and the much more active
community around Monger (or at least a much more proactive "marketing"
campaign via @ClojureWerkz!), I'm going to do a spike at work to see
what it would take to switch our code base over to Monger.

I don't think I have the heart to perform the overhaul I really want
to see in CongoMongo and actually get it to a state where I genuinely
feel it is a worthy "competitor" to Monger. I hadn't realized that
Monger already could do more of what I'd want from a future version of
CongoMongo.

If Monger doesn't work out for us at World Singles, then a full
overhaul of CongoMongo - or a ground-up rewrite - will be back on the
cards!

Jamie Orchard-Hays

unread,
Jan 8, 2014, 3:02:29 PM1/8/14
to congomo...@googlegroups.com
Have you also looked at Mongoika?

Sean Corfield

unread,
Jan 8, 2014, 3:32:54 PM1/8/14
to congomongo-dev
It relies on global dynamically bound variables and it hasn't been
updated in quite a while. It also has a lot of side-effecty stuff
(like running a query and then running a restrict - a visibly separate
operation that affects another operation).

Sean Corfield

unread,
Feb 25, 2014, 8:34:47 PM2/25/14
to congomo...@googlegroups.com
No more feedback from anyone else?

Does no one else use CongoMongo?

Sean

Steve Purcell

unread,
Feb 26, 2014, 3:15:21 AM2/26/14
to congomo...@googlegroups.com
Hi Sean,

I’m not personally using CongoMongo at this stage, largely because I’m not working on a project which uses MongoDB.

But in any case, to judge continued interest, it might be best to mail the general Clojure list.

-Steve

Sean Corfield

unread,
Dec 16, 2017, 6:18:52 PM12/16/17
to congomongo-dev
I'm resurrecting this thread from 2014(!) because there's been very little activity on the mailing list since then and a recent post asking about aggregate reminded me of that...

CongoMongo is pretty much abandonware at this point. At work we're activity migrating away from MongoDB so I have no incentive to work on it. When folks ask me about MongoDB libraries, I just point them at Monger these days.

CongoMongo still uses the old 2.x drivers (and at work we still use MongoDB 2.6 and have no plans to upgrade) so it's years behind the curve right now.

If anyone wants to take over maintenance of CongoMongo, let me know -- but, otherwise, I might just update the README to warn that CongoMongo is no longer maintained and link to Monger as a well-maintained, well-documented alternative.

Sean

Andrew Boekhoff

unread,
Dec 19, 2017, 10:40:19 PM12/19/17
to congomo...@googlegroups.com
As original contributor and long since abandoner of congomongo, I'm glad that it at least helped someone make some money somewhere, once.
I'm not sure the exact differences between congomongo and monger, but I do enjoy the passive aggression inscribed in the monger readme.
Whatever technical debt I left behind in those early years, I hope it didn't start too many fires.

On a slightly more serious note, what are the major features where congomongo has fallen behind? I really haven't kept up with the state of MongoDB
or the Java drivers at all. Maybe there's some reason to keep the rivalry alive.

--
You received this message because you are subscribed to the Google Groups "congomongo-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to congomongo-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Johan Heander

unread,
Jan 18, 2018, 8:42:13 AM1/18/18
to congomongo-dev
Hi,

We are still using congomongo and have been using it since the days before monger. I think it is the cleaner more lightweight of the two where monger bundles to much stuff (like validation and query building) that in my opinion should have been kept in separate optional modules.

The old driver isn't hurting us too much right now, but we will want to try the new change streams soon which I suppose will force us to upgrade.

Thank you both for this library and your contributions to it over the years!

Best Regards
Johan
To unsubscribe from this group and stop receiving emails from it, send an email to congomongo-de...@googlegroups.com.

Sean Corfield

unread,
Apr 26, 2018, 2:45:27 PM4/26/18
to congomongo-dev
I think at this point, a willing maintainer should fork the project and take it over.

I would recommend creating a congomongo organization on GitHub and forking it into there so it becomes easier to add/change maintainers in the future.

Sean

Johan Heander

unread,
Apr 27, 2018, 8:16:41 AM4/27/18
to congomongo-dev
Hi,

I have created a congomongo organization on github and invited you and our clojure team as team members. Do you have an existing congomongo group on clojars or how is that managed?

Best Regards
Johan

Sean Corfield

unread,
Apr 27, 2018, 12:06:43 PM4/27/18
to congomo...@googlegroups.com

Thank you Johan! It would probably be ideal if Andrew (Somnium) could transfer the CongoMongo repo to that organization but he would need to have admin access to it, in order to do that I believe? Forking CongoMongo to that organization is much simpler and would be reasonable if Andrew isn’t around.

 

Yes, there is a CongoMongo group on Clojars and I have admin access. What Clojars usernames would you like me to add to that?

 

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN


An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

 


From: congomo...@googlegroups.com <congomo...@googlegroups.com> on behalf of Johan Heander <jo...@timezynk.com>
Sent: Friday, April 27, 2018 5:16:41 AM
To: congomongo-dev
Subject: Re: The future of CongoMongo?
 

Andrew Boekhoff

unread,
Apr 27, 2018, 1:31:46 PM4/27/18
to congomo...@googlegroups.com
I'm happy to transfer the repo. Is the name of the group to transfer to just "congomongo"? I searched github for a little while but didn't find the group.

On Fri, Apr 27, 2018 at 9:06 AM, Sean Corfield <se...@corfield.org> wrote:

Thank you Johan! It would probably be ideal if Andrew (Somnium) could transfer the CongoMongo repo to that organization but he would need to have admin access to it, in order to do that I believe? Forking CongoMongo to that organization is much simpler and would be reasonable if Andrew isn’t around.

 

Yes, there is a CongoMongo group on Clojars and I have admin access. What Clojars usernames would you like me to add to that?

 

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

 


To unsubscribe from this group and stop receiving emails from it, send an email to congomongo-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "congomongo-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to congomongo-dev+unsubscribe@googlegroups.com.

Sean Corfield

unread,
Apr 27, 2018, 1:38:28 PM4/27/18
to congomo...@googlegroups.com

https://github.com/congomongo/ but it already contains a fork so at this point our options are:

 

  1. Stay with the fork at congomongo/congomongo (and update the original README to point people there
  2. Delete the fork, give Andrew permissions, and transfer congomongo to the organization

 

It’ll make life easier overall to do b) but it’ll be more work for Johan and Andrew in the short term.

 

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

 


From: congomo...@googlegroups.com <congomo...@googlegroups.com> on behalf of Andrew Boekhoff <boek...@gmail.com>
Sent: Friday, April 27, 2018 10:31:44 AM
To: congomo...@googlegroups.com

Johan Heander

unread,
Apr 30, 2018, 5:01:59 AM4/30/18
to congomongo-dev
Hi,

Option b sounds like the best one, I guess I was hasty in creating a fork under congomongo/congomongo. I have deleted the repo again and sent an invitation to the congomongo group to you, Andrew.

All the best!
Johan


Den fredag 27 april 2018 kl. 19:38:28 UTC+2 skrev Sean Corfield:

https://github.com/congomongo/ but it already contains a fork so at this point our options are:

 

  1. Stay with the fork at congomongo/congomongo (and update the original README to point people there
  2. Delete the fork, give Andrew permissions, and transfer congomongo to the organization

 

It’ll make life easier overall to do b) but it’ll be more work for Johan and Andrew in the short term.

 

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

 


From: congomo...@googlegroups.com <congomo...@googlegroups.com> on behalf of Andrew Boekhoff <boek...@gmail.com>
Sent: Friday, April 27, 2018 10:31:44 AM
To: congomo...@googlegroups.com
Subject: Re: The future of CongoMongo?
 
I'm happy to transfer the repo. Is the name of the group to transfer to just "congomongo"? I searched github for a little while but didn't find the group.
On Fri, Apr 27, 2018 at 9:06 AM, Sean Corfield <se...@corfield.org> wrote:

Thank you Johan! It would probably be ideal if Andrew (Somnium) could transfer the CongoMongo repo to that organization but he would need to have admin access to it, in order to do that I believe? Forking CongoMongo to that organization is much simpler and would be reasonable if Andrew isn’t around.

 

Yes, there is a CongoMongo group on Clojars and I have admin access. What Clojars usernames would you like me to add to that?

 

Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
An Architect's View -- http://corfield.org/

"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood

 


Andrew Boekhoff

unread,
Apr 30, 2018, 12:04:02 PM4/30/18
to congomo...@googlegroups.com
I've transferred the repository to the congomongo organization. Thank you for your stewardship!

To unsubscribe from this group and stop receiving emails from it, send an email to congomongo-dev+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages