Oops
6/26 '26
We're back. Not sure what happened there, the out of memory zapper zapped mongod last night. I took the opportunity to do a package update as well. Thanks Rob for pointing it out.
MORE
https://github.com/apostrophecms/apostrophe/tree/main/packages/db-connect#apostrophecmsdb-connect
It's an MIT-licensed implementation of a large subset of the MongoDB API on sqlite and postgres.
Both sqlite and postgres have really strong JSONB support now, so this isn't a big a deal to pull off as it used to be.
We're not making a big fuss about it in the larger open source community because the goal here was to make sure it can meet the needs of ApostropheCMS, so people don't... make jokes about webscale... while still having the API of mongodb... which is just nice (and to which we have a huge existing commitment).
Matching every feature on a rolling basis? Not so much. Plus we'd rather not get in a tussle with mongodb's legal department somehow. One of those "we're probably in the right, but can't afford to be" things.
There's a lot of prior art. There's a database that runs as a separate daemon sitting in between you and postgres, for instance. Which in theory is more flexible. But our goals were different: passing our own very large test suite, and minimizing effort for a nodejs developer who's really just a frontend developer hoping not to install ANYTHING because they resent the existence of backend. That person is much better served by db-connect and sqlite.
So now, hopefully, we can tap into both the "don't make me install ANYTHING" audience (at least while in development) and "we have a corporate requirement for postgres / postgres is genuinely open source / we just prefer it operationally" crowd.