Why not put c in a separate doc? Maybe with the same doc id but a '-c' suffix. Then you can pull it whenever you wish as a second read by id. You could also use the new {_id: "<id>-c"} feature to include c.
On Tue, Aug 16, 2011 at 6:43 AM, Zachary Zolton <zachary.zol...@gmail.com> wrote: > Another alternative would be to store this additional, large data as > an attachment to the documents. This would allow you to access the > data for an individual document when needed, but would avoid any view > indexing overhead. > > —Zach > > On Tue, Aug 16, 2011 at 8:23 AM, Gabor Ratky <rg...@rgabostyle.com> wrote: >> You're not thinking about it in the wrong way. Keeping document sizes low is >> crucial for views to perform in an acceptable manner (documents 500kb-1mb >> will get the view indexer into a screeching halt because of the JSON >> encoding/decoding overhead). >> >> Our solution to a very similar problem was having a separate database >> (without views, although this was just a side-effect) with the exact same >> document IDs containing this large data. This way it won't affect your usual >> scenarios but you can retrieve it from the other DB when needed. Of course, >> this separation has to happen when creating the documents or as a separate >> process afterwards that you will need to code manually, although you could >> use something like https://github.com/maxogden/recline or kanso.js document >> transformation, but IMHO these are not the right tools for your particular >> problem. >> >> HTH, >> Gabor >> >> >> On Tuesday, August 16, 2011 at 2:32 PM, Antoine Kurukchi wrote: >> >>> I might be thinking of this in the wrong way. >>> >>> I already have the doc and rev id. I'm trying to get the doc without c as c >>> has quite a lot of data. Which isnt required till much later and even then >>> only a few will be needed. >>> >>> The whole database without c is about 25mb. With c its 2 gb. >>> >>> I dont want to seperate c from the other data. >>> >>> Any thoughts? >>> >>> On Aug 16, 2011 1:21 PM, "Gabor Ratky" <rg...@rgabostyle.com >>> (mailto:rg...@rgabostyle.com)> wrote: >>> > >>> > A view, as its name implies is a read-only view of the underlying data. >>> You can omit emitting `c` in the view, but all that will mean that it will >>> not be included in the view itself (either as its key or its value), but it >>> will still exist in the underlying documents. >>> > >>> > You could potentially emit the whole document MINUS the `c` field as part >>> of the view, but it would result in a huge view, whereas usually you would >>> just use `include_docs=true` parameter to query the document itself along >>> with the view. >>> > >>> > Maybe you could explain what exactly you're trying to achieve in further >>> detail? >>> > >>> > Gabor >>> > >>> > >>> > On Tuesday, August 16, 2011 at 2:13 PM, Antoine Kurukchi wrote: >>> > >>> > > Is it possible in a view to remove a field if present and has anyone got >>> an >>> > > example? I would like to keep all other fields. Also this will be with >>> > > different documents. >>> > > >>> > > For example my document has 3 fields a,b,c. Another document has >>> b,c,d,g. So >>> > > I want the view to process both those documents and remove c. Should >>> have >>> > > the following as the result: >>> > > >>> > > a,b and b,d,g >>> > > >>> > > Antoine >> >> >