Mike, It'd be quite difficult if not impossible to be able to build the derivative view incrementally. Allowing map functions to pull data from a random location would break the referential transparency requirement.
HTH, Paul Davis On Mon, Mar 1, 2010 at 10:41 AM, Mike Keen <[email protected]> wrote: > Hey, > > I am managing a database that has hundreds of thousands of documents (so > far), all containing a field called "keyword_id". I am not storing the > "keyword_name" inside of each individual document for several reasons. The > biggest reason being that the name could change at any time, but I don't want > old documents to become outdated. I still want them to be associated with one > another. > > Anyway, I am wondering if there is currently a special function within the > CouchDB JavaScript view server to pull data across views. I have a view that > serves as an index of keyword_ids/names. I also have another view that > aggregates keyword data, but can't return the keyword names. Currently, I > just run two requests to CouchDB. One to retrieve all aggregated keyword > data, and another to retrieve the relevant keyword names as they relate to > the ids. > > I am assuming that the way I am doing it is currently the best way, but > wanted to see if it was possible to run something like: > > function(doc) { > var keyword_name = > view("/lu_persistence/_design/keywords/_view/keyword_id_name_map?key=" + > doc.keyword_id); > doc.keyword_name = keyword_name; > emit(null, doc); > } > > Maybe I'm just nuts, but I think this would be ridiculously useful. And if > it's already in there, and someone could point me in the right direction, I'd > greatly appreciate it. > > Thanks a million, > Mike Keen >
