Hi Jan, good stuff. I think it’s worth expanding into an RFC if this is a limitation that you see users bumping into frequently. Some thoughts:
- We’ll want to address the case where a virtual field clashes with a “physical" field in a doc. Should the value of the virtual field override the one in the document? I think so. - I can imagine users wanting to apply these functions conditionally, e.g. to do schema evolution on read where they’ve got older documents that serialized a field in a different format than they’re currently using for new inserts. I’m OK with “use a view” being our response to that case, but figured I’d bring it up. - We’ve had occasional conversations about how to integrate views into Mango so that _find could be a common endpoint for interrogating the DB. Last time I thought about it a combination of “use_index” and a registration of the keys and values from the view as virtual fields seemed like a sane way to do it. It’s a separate topic but I’m wondering if the query interface ends up looking similar for two features. Cheers, Adam > On Nov 23, 2021, at 12:27 PM, Jan Lehnardt <j...@apache.org> wrote: > > Hi all, > > I had some time playing with an idea that I wanted to see happen for a long > time: value manipulation functions for Mango. > > The goal here is to allow more flexible indexing with Mango. It’ll not be a > super flexible solution like JS views, but I think it is a neat addition. > > I’ve drafted things up with a small example patch and I’m looking for > feedback whether y’all are interested in me turning this into a proper RFC: > > https://gist.github.com/janl/e5469f6f08c9be0405f31451889d5030 > > h/t Adam for scope-creeping the “& Values” part into this ;) We can do that > separately, if folks prefer. > > Best > Jan > — > Professional Support for Apache CouchDB: > https://neighbourhood.ie/couchdb-support/ > > 24/7 Observation for your CouchDB Instances: > https://opservatory.app >