Yup, “CouchApps” were one of the selling points back in the day when I was using CouchDB. A very elegant idea.
CouchDB doesn’t have a granular permission system, and is sort of an all-or-nothing thing - either your database is open for everyone to read and write, or just one group/user
I thought you could add multiple users to a DB? It’s been a while. The bigger limitation IMO is that giving someone access to a DB gives them access to all docs in it. That was one of the reasons we [Couchbase] moved away from it — the replacement in our ecosystem, the Sync Gateway, uses a JS function to validate docs and assign ACLs to them as they’re written, providing fine grained read and write access.
CouchDB is the ultimate basic CRUD app back-end. It’s so damn easy to write really basic API backends as Couch apps. The initial dev overhead is so low that it’s just a no brainer even if you know your workloads will get more complex and you’ll need to migrate off eventually.
Have you considered exploring Marmot instead of LiteStream or LiteFS. You can actually build a CouchDB like multi-master service on top of SQLite (I’ve done demos of PocketBase and KeyStone JS).
I’m glad to hear this has gotten good! I tried it ages ago and had a pretty bad time*, but it clearly had potential.
*The only thing I specifically remember was that if I had an error in the JS for a view, it said “Error on line 1” and printed a (very wide) whitespace-escaped version of the whole script.
Yup, “CouchApps” were one of the selling points back in the day when I was using CouchDB. A very elegant idea.
I thought you could add multiple users to a DB? It’s been a while. The bigger limitation IMO is that giving someone access to a DB gives them access to all docs in it. That was one of the reasons we [Couchbase] moved away from it — the replacement in our ecosystem, the Sync Gateway, uses a JS function to validate docs and assign ACLs to them as they’re written, providing fine grained read and write access.
Good to hear this point of view. I was always impressed by CouchDB. Does this mean Couchbase is worth more of a look as a spiritual successor?
CouchDB is the ultimate basic CRUD app back-end. It’s so damn easy to write really basic API backends as Couch apps. The initial dev overhead is so low that it’s just a no brainer even if you know your workloads will get more complex and you’ll need to migrate off eventually.
Have you considered exploring Marmot instead of LiteStream or LiteFS. You can actually build a CouchDB like multi-master service on top of SQLite (I’ve done demos of PocketBase and KeyStone JS).
Interesting - I hadn’t heard of this! I’ll definetly add it to my ever growing list.
I’m glad to hear this has gotten good! I tried it ages ago and had a pretty bad time*, but it clearly had potential.
*The only thing I specifically remember was that if I had an error in the JS for a view, it said “Error on line 1” and printed a (very wide) whitespace-escaped version of the whole script.